北京时间9月9日,Ledger首席技术官Charles Guillemet在X平台发布紧急预警:「目前正在发生一起大规模供应链攻击,一名知名开发者的 NPM 账号遭到入侵。受影响的软件包下载量已超过 10 亿次,这意味着整个 JavaScript 生态系统都可能面临风险。」
Guillemet进一步指出:「恶意代码的工作原理是在后台静默篡改加密货币地址,以此窃取资金。如果你使用硬件钱包,请仔细核对每一笔签名交易,你就是安全的。如果你没有使用硬件钱包,请暂时避免进行任何链上交易。目前尚不清楚攻击者是否已经在直接窃取软件钱包的助记词。」

事件始末解析
援引Guillemet分享的安全报告,此次危机的根源在于知名开发者@qix的NPM账户被攻破,导致包括chalk、strip-ansi以及color-convert在内的数十个常用库发布了包含恶意代码的版本。这些恶意载荷可能在开发者或用户自动安装依赖的过程中悄然渗透至终端设备。

Odaily 注:受损软件包的周下载量数据。
这本质上是一次典型的供应链攻击。攻击者通过在开发工具或依赖体系中植入恶意组件(如NPM包)实施破坏。NPM(Node Package Manager)作为JavaScript/Node.js生态中核心的包管理工具,负责依赖管理、安装包更新及代码共享等职能,其生态体量庞大,涵盖数百万个软件包。
鉴于几乎所有Web3项目、加密钱包及前端工具均深度依赖NPM,且依赖链路错综复杂,使得NPM成为供应链攻击的高危入口。一旦在某个高频使用的底层库中混入恶意代码,便可能波及成千上万的应用程序及最终用户。

根据上述恶意代码扩散路径示意图:
· 某些项目(蓝色框)会直接引用常见的开源库,例如express。
· 这些直接依赖(绿色框)又可能依赖其他间接依赖(黄色框,如lodash)。
· 若某个间接依赖被暗中植入恶意代码(红色框),该恶意代码将顺着依赖链条传导至主项目中。
对加密行业的具体威胁
此次安全事件与加密货币领域的关联在于,黑客在污染包中嵌入了一种精密的「加密货币剪贴板劫持程序」,通过替换钱包地址和拦截交易来盗取加密资产。

Stress Capital创始人GE(@GuarEmperor)在X平台上对此进行了深度解读。他提到,黑客注入的「剪贴板劫持程序」具备两种运作模式:被动模式下,利用「莱文斯坦距离算法(Levenshtein distance algorithm)」替换钱包地址,因字符视觉上极度相似而极具隐蔽性;主动模式下,则会在检测到浏览器内的加密钱包时,在用户确认签署交易前篡改目标地址。
由于本次攻击波及JavaScript项目的基础层库,即便那些仅间接依赖这些库的项目,也可能受到波及。
黑客获利追踪
恶意代码中暴露了黑客的攻击地址。其在以太坊上的主要攻击地址为 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976,涉案资金主要流向以下三个地址:
· 0xa29eEfB3f21Dc8FA8bce065Db4f4354AA683c0240
· x40C351B989113646bc4e9Dfe66AE66D24fE6Da7B
· 0x30F895a2C66030795131FB66CBaD6a1f91461731
Arkham已建立专门的跟踪页面,实时展示黑客的攻击获利及资金转移动态。
截至发稿,黑客虽仅获利496美元,但鉴于恶意代码的传播范围尚未完全厘清,预计该数字仍有上升空间。目前,开发者本人已收到通知,正与NPM安全团队紧密协作处理此事。大部分受影响软件包中的恶意代码已被清除,局势正逐步可控。
风险防范指南
Defillama创始人@0xngmi在X平台分析认为,尽管事态看似危急,但实际影响范围或许并未达到预期那样广泛——因为该漏洞仅影响自被黑NPM包发布以来推送过更新的项目。多数项目采用固定依赖版本策略,即使推送更新,也会继续使用旧版的安全代码。
然而,由于用户端难以核实项目方是否固定了依赖项,或是否存在动态下载依赖的情况,当前首要任务是项目方进行自检并公开披露结果。
截至目前,MetaMask、Phantom、Aave、Fluid、Jupiter等多个知名钱包及应用项目方均已声明不受此次事件影响。理论上,用户可放心使用经确认安全的钱包访问已验证的协议。但对于尚未做出安全声明的其他钱包或项目,暂时避免使用或许是更为稳妥的选择。