axios npm供应链投毒0-day攻击事件分析
【事件背景】
2026年3月31日,全球最广泛使用的 JavaScript HTTP 客户端库 axios(周下载量逾3亿次)遭遇严重供应链投毒攻击。攻击者通过劫持核心维护者 npm 账号,绕过官方 GitHub Actions CI/CD 发布流程,手动发布了两个恶意版本(axios@1.14.1 与 axios@0.30.4),同时覆盖 1.x 与 0.x 两大版本分支。恶意版本以幻影依赖(phantom dependency) plain-crypto-js@4.2.1 为载体,在用户执行 npm install 时通过 postinstall 钩子自动投放跨平台远程访问木马(RAT),目标覆盖 Windows / macOS / Linux 三大平台,并具备自清除反取证机制。恶意版本存活约 2–4 小时后被 npm 官方下架。
【处置建议】
判断标准:系统是否在 2026-03-31 00:21–03:15 UTC 期间执行了 npm install 并拉取以下版本:
·axios@1.14.1
·axios@0.30.4
·plain-crypto-js@4.2.1(作为间接依赖被拉取)
清除感染:
1、回退到安全版本
npm install axios@1.14.0 # 1.x 用户
npm install axios@0.30.3 # 0.x 用户
2、删除恶意残留
rm -rf node_modules/plain-crypto-js
3、清理并重新安装(禁止执行 postinstall 脚本)
rm -rf node_modules package-lock.json
npm install --ignore-scripts
4、修改 package.json 中的 axios 版本为精确版本:
"axios": "1.14.0" # 去掉 ^ 或 ~ 前缀
【IOC】
142.11.206[.]73
sfrclak[.]com