一种创新的JavaScript混淆技术正被积极滥用该技术利用不可见的Unicode字符将恶意代码伪装成空白从而在网络钓鱼攻击中有效规避检测。该攻击主要针对美国政治行动委员会PAC附属机构。网络威胁实验室Juniper Threat Labs于2025年1月初发现此次攻击。攻击者展现出高度复杂性包括使用受害者非公开的个性化信息、反调试机制以及层层包装的跟踪链接。攻击背景与技术起源这种混淆技术最早由JavaScript开发者于2024年10月在公开研究中披露。短短几个月内它便被武器化并投入实际攻击这凸显了安全研究成果被快速利用的风险。攻击的核心在于“让JS有效负载隐形”。具体方法是将JavaScript负载中的每个ASCII字符转换为8位二进制表示然后用两种不可见的韩文Unicode填充字符替换二进制值0和1韩文半宽填充字符UFFA0代表0韩文全宽填充字符U3164代表1。混淆后的代码作为JavaScript对象的一个属性存储。由于这些韩文填充字符在大多数编辑器和浏览器中渲染为空白整个有效负载看起来就像一段空白代码。隐藏在空白中的恶意代码示例实际攻击脚本中底部大片“空白”即为不可见字符序列此处图片展示典型攻击脚本截图空白区域隐藏着二进制编码的有效负载如何解码与执行隐藏负载攻击者使用一个简短的引导脚本bootstrap script来恢复和执行隐藏代码。该脚本借助JavaScript Proxy的get()陷阱实现当代码尝试访问隐藏属性时Proxy会自动将不可见的韩文填充字符转换回二进制再重建原始JavaScript代码。为进一步增强隐蔽性攻击者还对韩文字符序列进行Base64编码并加入反调试检查如调试器断点和定时延迟检测。如果检测到分析环境脚本会立即中止攻击并重定向到正常网站。Phish Chips: Serving Up Tycoon 2FAs Secrets | eSentireBase64编码的韩文填充字符序列示例常见于此类攻击的额外隐藏层此处图片展示Base64编码后的字符序列攻击的个性化与规避能力Juniper分析师指出此次攻击高度个性化钓鱼邮件包含受害者非公开信息初始JavaScript会尝试触发调试器断点检测到延迟后自动中止并跳转至良性页面。这种“条件执行”机制大大降低了被分析的风险。此外整个过程实现简单——只需基本编码知识即可完成且有效负载可无缝注入合法脚本中不会轻易引起安全扫描器的怀疑。空白外观显著减少了静态检测的命中率。Inside Tycoon2FA: How a leading AiTM phishing kit operated at scale | Microsoft Security Blog与Tycoon 2FA工具包的关联及未来影响研究发现攻击中使用的两个域名此前与Tycoon 2FA网络钓鱼工具包有关。这表明该隐形混淆技术可能很快被更广泛的攻击者采用尤其是在AiTMAdversary-in-the-Middle钓鱼场景中。Tycoon 2FA: an in-depth analysis of the latest version of the AiTM phishing kit防御建议增强扫描器更新安全工具以检测特定韩文填充字符UFFA0、U3164即使它们表现为空白。动态分析优先使用行为检测和沙箱环境而非仅依赖静态签名。代码审查在审查JavaScript时使用Unicode可视化工具检查隐藏字符。用户教育警惕个性化钓鱼邮件尤其涉及敏感政治或财务信息的场景。这种“隐形代码”攻击展示了网络威胁演进的速度——从概念演示到真实武器化仅需数月。安全团队需持续关注Unicode相关混淆技术的发展以有效应对未来变种。