axios@1.14.1 遭遇供应链投毒:针对开发者及 MCP 用户的高隐蔽性 0-day 攻击
这是 2026 年 3 月 31 日(不到 24 小时前) 爆发的全新 0day 供应链攻击,目前 npm 官方和主流安全社区尚未公开披露。
攻击核心
通过 npx 安装 latest 版本时,axios@1.14.1 被恶意投毒,偷偷引入了伪装成 crypto-js 的恶意包 plain-crypto-js@4.2.1。
不仅普通开发者受影响,大量使用 AI Coding CLI( Cursor 、Claude Code 、Windsurf 、Codex 等)调用 open-websearch、exa-mcp-server 等 MCP 工具的用户也极易中招,因为它们的 npx 缓存同样被污染。
攻击手法(三平台全覆盖)
C2 服务器:http://sfrclak.com:8000/6202033
Windows:
- 复制
powershell.exe到C:\ProgramData\wt.exe(伪装成 Windows Terminal ) - 生成 VBS 脚本下载 payload ,隐藏执行 PowerShell (
-w hidden -ep bypass) - 执行后自删除所有痕迹
- 复制
macOS:
- 下载后门二进制到
/Library/Caches/com.apple.act.mond(伪装系统进程) - 赋予权限后后台运行 + 连回 C2
- 通过
osascript执行并擦除痕迹
- 下载后门二进制到
Linux:
- 下载 Python 后门到
/tmp/ld.py nohup后台常驻
- 下载 Python 后门到
最阴险的是毁尸灭迹:
- 删除自身的
setup.js - 把
package.md重命名为package.json,彻底覆盖原始postinstall字段 - 事后查看
package.json和npm list几乎看不出任何异常
快速自查命令(强烈建议立刻执行)
”`bash
检查可疑 axios 版本
npm list axios 2>/dev/null | grep -E “1.14.1|0.30.4”
检查 lock 文件
grep -A1 ‘“axios”’ package-lock.json | grep -E “1.14.1|0.30.4”
检查恶意依赖
ls node_modules/plain-crypto-js 2>/dev/null && echo “⚠️ 可能已中招!”
检查 RAT 残留痕迹
macOS
ls -la /Library/Caches/com.apple.act.mond 2>/dev/null && echo “⚠️ COMPROMISED”
Linux
ls -la /tmp/ld.py 2>/dev/null && echo “⚠️ COMPROMISED”
Windows (cmd)
dir “%PROGRAMDATA%\wt.exe” 2>nul && echo COMPROMISED
和 0day 没有关系,是维护者的 npm 账户被入侵了
node_modules 散落在硬盘各处,想查都困难
AXIOS 基本上是前端请求库的基石了, 这影响面也太巨大了吧.
everything 打开,搜索 plain-crypto-js 看看有没有吧
@shirakawatyu 看起来是刚发不久就被发现了,npm 上已经没这版本了
nodejs 这种小包生态供应链投毒无解了。
https://github.com/axios/axios/issues/10604 开发者凭证被偷感觉是无解的难题。
上次 npm 改了发布机制,这次再来一波,npm 打算改啥