据安全公司Socket Security联合创始人Feross Aboukhadijeh披露,当前npm生态系统中依赖度最高的软件包之一——Axios——正在经历一场活跃且关键的供应链攻击。Axios作为HTTP请求库,是Node.js及Web3开发中不可或缺的基础组件,每周下载量超过1亿次。此次攻击波及最新发布的版本axios@1.14.1,该版本被发现有后门行为,极可能通过被攻破的发布流程或中间人攻击注入恶意代码。
攻击细节:伪装成熟知库的恶意载荷
Feross通过分析指出,axios@1.14.1在安装时会自动拉取一个名为plain-crypto-js@4.2.1的依赖包,而这个包在攻击发生前完全不存在于npm registry中。他描述这是“教科书式的供应链安装程序恶意软件”。该载荷经过高度混淆,具备典型的“dropper/loader”功能,可以在目标系统上执行一系列危险操作:删除或重命名自身组件以消除取证痕迹、将载荷文件复制到系统临时目录及Windows的ProgramData目录、执行解码后的Shell命令等。Socket的AI分析系统已确认该包为恶意代码,并建议开发者立即停止更新Axios。
对Web3开发的影响:从依赖链到智能合约的连锁风险
尽管Axios本身并非区块链原生工具,但它是绝大多数Web3前端应用、去中心化交易所(DEX)聚合器、NFT市场及链上数据索引服务中用于与RPC节点通信、获取链上状态的底层HTTP工具。一旦开发者在开发或生产环境安装了受感染的版本,恶意代码可能窃取环境变量中的私钥、API密钥或钱包助记词,甚至篡改发送至合约的交易参数。更值得警惕的是,后端服务、CI/CD流水线中的自动化脚本都可能因隐性依赖而遭破坏,攻击者能借此获得持久的控制权限。此次事件再次暴露了开源软件供应链的脆弱性——单点依赖的沦陷可能波及相关生态中成千上万的DApp和DeFi协议。
应对策略与长期启示
Feross在社交媒体上发出紧急预警,强烈建议所有使用Axios的开发者立即固定当前安全版本(如axios@1.13.x),并审计项目中的yarn.lock或package-lock.json文件,确认是否有意外的plain-crypto-js或类似可疑子依赖出现。此外,应启用npm的审计功能(npm audit)和Socket等实时依赖扫描工具,对任何新出现的、名称模仿知名库的包保持高度警惕。长远来看,Web3开发者社区需要推动包签名验证、双因素发布验证以及去中心化registry的标准化实践,以降低此类攻击的级联风险。此次Axios事件可能只是冰山一角,npm生态的超200万个包中隐藏着大量未被发现的恶意载荷,开发者不应依赖事后响应,而应将供应链安全嵌入开发的全生命周期。

