网络安全

单个追踪脚本如何重定向全网加密货币支付

分析 Adform 供应链入侵事件:黑客修改追踪脚本,通过浏览器劫持加密货币钱包地址。
单个追踪脚本如何重定向全网加密货币支付

广告技术是现代互联网的暗物质。它对普通用户来说是不可见的,但它对数据在全网的流动有着巨大的影响。当这个不可见的层失效时,其影响会立即扩展到数千个无关的网站。2026年7月27日,Adform 发现其主要追踪脚本之一被用来对付其用户。一次供应链攻击允许攻击者将恶意代码注入广泛使用的 JavaScript 文件中,将其转变为实时重写加密货币钱包地址的工具。

我今天早上分析了捕获的恶意脚本样本。此次攻击的目标是 trackpoint-async.js,这是一个从 Adform 基础设施提供的文件。由于该脚本被集成到大约 1,800 个客户网站的头部以促进广告分析,攻击者不需要攻破这些单独的公司。他们只是“在井里投毒”。一旦修改后的脚本在访问者的浏览器中加载,它就开始监控文档对象模型(DOM),寻找看起来像比特币、以太坊或波场(Tron)地址的特定模式。

第三方依赖项的无形风险

现代 Web 架构依赖于对第三方资源的隐式信任。当开发人员添加一行代码来调用全球提供商的脚本时,他们就赋予了该提供商对用户体验的显著控制权。这一事件是供应链攻击的教科书案例,其中信任关系被利用。涉事脚本 trackpoint-async.js 旨在运行于整个网站或特定部分。在这种情况下,攻击者在合法库的末尾附加了两个恶意代码块。

从风险角度来看,这是任何网站管理员的噩梦。你可以拥有完美的安全性、加固的服务器和严格的内部代码审查流程,但单个外部脚本仍然可以危害你的用户。攻击者通过一扇几乎总是为营销和分析工具敞开的侧门绕过了网络边界。这证明了网络边界的概念已像过时的城堡护城河。如果你允许外部脚本在你的网站上以高权限运行,你实际上已经邀请了一个陌生人来管理你的安全。

Trackpoint 入侵剖析

对恶意代码块的技术分析揭示了劫持金融交易的针对性努力。代码使用六字节的 XOR 密钥来混淆替换的钱包地址,这是逃避基础签名检测的常用策略。脚本执行后,它会启动两条不同的攻击路径。第一个代码块专注于系统剪贴板。它监视复制事件,并尝试每四秒读取一次剪贴板。如果它识别出符合加密货币钱包模式的字符串,它就会将该字符串替换为攻击者拥有的钱包地址。

在幕后,第二个代码块甚至更具侵入性。它遍历文档的文本节点,并监控每个输入字段、文本区域(textarea)和可编辑内容(contenteditable)元素。当用户在表单字段中输入或粘贴地址时,脚本会拦截该事件并重写其值。它甚至在重写后恢复光标位置,以确保用户不会注意到变化。这种细粒度的操作确保了即使客户通过手动输入地址绕过剪贴板,交易仍然容易被重定向。

剪贴板是竞争激烈的环境

独立研究员 Kevin Beaumont 注意到了这种恶意软件的一个特别激进的特性。即使当用户注意到地址不正确并尝试再次复制原始钱包地址时,脚本仍会继续替换它。这种持久性使得浏览器环境本身变得不可信。在发生此类入侵时,浏览器变成了违背用户利益的恶意代理。

从最终用户的角度来看,攻击几乎是完全无声的。没有弹窗,没有减速,也没有明显的系统感染迹象。该恶意软件不尝试安装软件或在硬盘上建立持久性。它仅存在于浏览器标签页的易失性内存中。一旦用户关闭受影响的页面,恶意进程就会结束。然而,损害发生在点击发送按钮的几秒钟内。在支付点篡改一个地址,就足以以一种在去中心化区块链上功能性不可逆的方式重定向数千美元。

调和时间线冲突

官方事故报告与独立观察之间存在差异。Adform 将 7 月 27 日定为事故发生日期,并表示他们及时删除了代码。Kevin Beaumont 报告称,在那个日期之前至少一周就通过 Adform 观察到了恶意活动。这种持续时间差距是风险评估的一个重大问题。如果脚本活跃了七天而不是一天,暴露的访问者数量将增加几个数量级。Adform 每天在 180 个国家/地区投放约 15 亿条广告。即使这些广告中只有一小部分携带了恶意负载,潜在的受害者群体也是巨大的。

作为对策,Adform 已建议所有用户清除浏览器缓存。这是至关重要的一步,因为即使在服务器端修复后,恶意版本的 trackpoint-async.js 仍可能存储在用户的计算机本地。如果浏览器加载了缓存版本的脚本,攻击仍然有效。这突显了 Web 安全中的一个持久缺陷,即缓存的寿命可以在补丁部署后很久仍延长安全威胁的生命周期。

评估数据外泄能力

代码中更令人担忧的一个方面是它与外部服务器的通信。脚本尝试在页面加载时向一个 IP 地址 (84.32.102[.]230) 发送 HTTP 请求。此请求包含主机名和访问者当前正在查看的页面的特定路径。Adform 声称,他们没有发现访问者的 IP 地址或浏览历史到达攻击者的证据。然而,事故公告承认,根据代码结构,这种传输在技术上是可能的。

在我分析 APT 和供应链入侵的经验中,攻击者很少在没有使用意图的情况下加入数据外泄功能。主机名和路径数据为操作者提供了一张实时地图,显示哪些网站正在成功传播其恶意软件。这有助于他们确定目标的优先级并衡量入侵的有效性。主动地讲,我们必须假设脚本可以访问的任何数据都可能已被攻击者的命令与控制服务器记录。

现代 Web 的防御措施

这一事件敏锐地提醒我们,第三方脚本是系统性风险的主要媒介。为了防御这种情况,组织必须转向细粒度的安全模型。使用子资源完整性(SRI)哈希是主要的防御手段。SRI 允许浏览器验证获取的脚本是否被篡改。如果服务器上文件的哈希值与网站代码中定义的哈希值不匹配,浏览器将拒绝执行它。如果 Adform 的客户为 trackpoint-async.js 实施了 SRI,恶意版本就会被自动拦截。

另一个关键防御措施是内容安全策略(CSP)。配置良好的 CSP 可以限制加载脚本的域名,并防止它们向未经授权的外部 IP 地址发送数据。如果当时实施了明确阻止连接到攻击者 IP 地址的 CSP,数据外泄尝试就会失败。安全不是单一的工具,而是一系列重叠的层。当一层被攻破时,其他层必须准备好接住失败。

最终,验证交易的责任仍在于用户。在这种特定情况下,最有效的防御措施也是最简单的:始终通过第二个渠道验证目标地址,或者在点击发送前仔细检查每个字符。在一个你用来浏览网页的代码都可能反水对付你的世界里,保持健康的偏执是数字生活的职能要求。

IT 领导者的关键要点

  • 审计当前在生产环境中运行的所有第三方脚本,并移除任何非任务关键型的脚本。
  • 为所有外部 JavaScript 依赖项实施子资源完整性(SRI)哈希,以防止未经授权的代码执行。
  • 加强内容安全策略(CSP),以限制脚本执行和数据外泄到已知的、受信任的域。
  • 对客户端资源执行零信任方法,假设任何外部依赖项都可能在源头被攻破。

来源

  • Adform Incident Notice (July 2026)
  • MITRE ATT&CK Framework: Supply Chain Compromise (T1195)
  • NIST Special Publication 800-161: Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations

免责声明:本文仅供信息和教育目的,不替代专业的网络安全审计或事故响应服务。

bg
bg
bg

另一边见

我们的端到端加密电子邮件和云存储解决方案提供了最强大的安全通信手段,确保您的数据安全和隐私。

/ 创建免费账户