2025 年 9 月 8 日,包括 chalk、debug 和 color 在内的多个广泛使用的 npm 软件包被发现受到威胁,这已迅速成为迄今为止最大的开源供应链事件之一。这些软件包的每周下载量合计超过 20 亿次,因此这次漏洞入侵事件风险极高,影响深远。
以下是发生了什么、攻击是如何实施的,以及OPSWAT 技术如何帮助抵御未来的类似威胁。
攻击总结
这次攻击始于针对其中一个 npm 软件包维护者的网络钓鱼活动。一封来自 support@npmjs.help
(一个在攻击前几天刚刚注册的虚假域名)诱骗受害者提供凭据。通过访问维护者的 npm 账户,攻击者发布了恶意版本的软件包。
注入的代码是专门设计的加密窃取恶意软件,旨在劫持与钱包和去中心化应用程序(dApps)交互的最终用户的加密货币交易。
这一事件再次凸显了开源信任随时可能被武器化,就像2025 年 7 月 ESLint 供应链黑客事件一样。
使用的攻击技术
1.特定浏览器的执行
恶意软件会进行环境检查,确保只在浏览器内运行。在服务器或 CI/CD 管道中,它处于休眠状态,从而增加了检测难度。
2.截取API
恶意有效载荷连接到核心网络应用程序接口,包括
window.fetch
XMLHttpRequest
window.ethereum
(钱包提供商)
这使得恶意软件可以悄无声息地监视、拦截和修改网络请求。
3.交易劫持
一旦嵌入,恶意代码就会超出被动观察的范围,主动干扰加密货币活动。特别是,它扫描了多个区块链上的钱包地址和交易有效载荷,包括以太坊、Solana、比特币、Tron、莱特币和比特币现金。
从那里,有效载荷执行了一种替换技术:
- 使用通过相似性检查(如列文斯坦距离)生成的相似地址,用攻击者控制的地址替换合法钱包地址。
- 这意味着
0xAbc123...
悄然成为0xAbc129...
不引起怀疑。
- 最重要的是,交换发生在用户签署交易之前,因此即使用户界面显示的地址是正确的,但已签署的请求已经被篡改。
4.隐身闪避
攻击者还采取了一些措施,确保恶意软件尽可能长时间地隐藏起来。有效载荷没有做出可能引起受害者警觉的明显改变,而是在后台悄无声息地运行:
- 避免了明显的用户界面交换,因此钱包界面看起来没有变化。
- 静默持续,在整个浏览会话期间保持钩子处于活动状态。
- 有针对性地进行审批和转账,不仅能窃取资金,还能操纵钱包权限,以便日后利用。
为什么这次攻击如此危险
- 规模庞大:受影响软件包的每周下载量达数十亿次。
- 跨链定位:不仅限于以太坊。多个主要区块链都受到了影响。
- 用户无法察觉:受害者认为他们批准的是安全交易。
- 生态系统信任漏洞:一个被入侵的维护者账户波及整个 npm 生态系统。
OPSWAT的回应
采用最新数据库版本的OPSWAT SBOM技术已经能够检测和标记这些恶意软件包。
OPSWAT SBOM 技术是许多业界领先的安全解决方案和技术之一,可在 MetaDefender Core和 MetaDefender Software Supply Chain:
- 漏洞分析:自动扫描依赖关系,查找已知漏洞和恶意版本。
- 持续监控:监控 npm、PyPI 和 Maven 等软件源,以发现可疑变更。
- 多视角和启发式:检测隐藏在软件包中的混淆恶意软件。
- CI/CD 集成:在将受损的依赖关系拉入构建之前将其屏蔽。
- 生成 SBOM: 以CycloneDX、SPDX、JSON 和 PDF 等标准化格式导出 SBOM 报告,以支持审计和合规目的。
您现在应该做什么
- 审核依赖关系:检查项目中受影响的 npm 软件包。
- 增强网络钓鱼意识:培训开发人员和维护人员识别仿冒电子邮件。
- 利用 OPSWAT MetaDefender Software Supply Chain:通过持续威胁和漏洞监控,了解软件供应链风险。
- 加强账户安全:对所有软件包注册表账户进行 2FA 维护。
主要收获
- 维护者账户是首要目标。他们的安全就是你的安全。
- 供应链攻击的规模不断扩大:数十亿次的下载可以瞬间被武器化。
- 主动监控和零信任工具(如MetaDefender Software Supply Chain )不再是可有可无的,而是必不可少的。
结束语
这一事件凸显出,只要一个受信任的维护者账户受到威胁,开源生态系统就会变得多么脆弱。由于数十亿的下载量岌岌可危,企业必须认识到供应链安全与端点或网络安全一样至关重要。积极主动的可视性、持续监控和强大的安全实践是抵御下一次开源泄露的最佳防御手段。
进一步了解OPSWAT SBOM和 MetaDefender Software Supply Chain如何保护您的开发管道安全并抵御开源供应链攻击。