引言:当“npm install”变成安全噩梦
2026年3月31日,JavaScript生态最常用的HTTP客户端库Axios遭遇了一场震惊业界的供应链投毒攻击。攻击者劫持了Axios维护者的账号,恶意发布了axios@1.14.1和axios@0.30.4两个版本,注入了名为plain-crypto-js@4.2.1的恶意依赖。这个依赖会从攻击者基础设施下载多阶段恶意载荷,包括一个远程访问木马(RAT)。
更令人不安的是:Axios每周有8300万次下载,是npm生态中排名前十的包。这意味着,在攻击窗口期内运行npm install的无数项目和CI/CD流水线,都可能不知不觉地将远控木马引入了自己的开发环境和生产构建中。
CISA(美国网络安全与基础设施安全局)紧急发布通告,建议开发者立即回退到axios@1.14.0或0.30.3,删除node_modules/plain-crypto-js/目录,并轮换所有可能泄露的凭证。
这不是孤立事件。根据统计,2024年仅npm生态就出现了超过3000个恶意包。2026年5月,名为“Sandworm”的供应链投毒攻击对npm造成了严重影响。依赖安全已从“锦上添花”变成了“生死攸关”。
在这样的背景下,package.json和锁定文件(lockfile)不再只是版本管理的技术细节,而是软件供应链安全的第一道防线。本文将深入解析如何通过锁定文件洞察依赖健康状况,


