文章总结: 2026年3月31日,npm生态遭遇重大供应链攻击。攻击者劫持了流行HTTP客户端库Axios的维护者账户,发布了两个恶意版本(1.14.1和0.30.4),植入远程访问木马(RAT)。由于OpenClaw及其插件依赖Axios,用户需立即检查并降级至安全版本(1.14.0或0.30.3),并采取锁定依赖、审计等长期预防措施。 综合评分: 95 文章分类: 供应链安全,恶意软件,漏洞预警,网络安全,应用安全
OpenClaw依赖包Axios遭供应链投毒:恶意版本植入远控木马
原创
天元实验室 天元实验室
M01N Team
2026年3月31日 18:00 北京
核心摘要:2026 年 3 月 31 日,npm 生态遭遇重大供应链攻击。流行 HTTP 客户端库 Axios 的维护者账户被劫持,攻击者发布两个恶意版本(1.14.1 和 0.30.4),植入远程访问木马(RAT)。OpenClaw 及其插件生态依赖 Axios,用户需立即检查并降级至安全版本。
事件概述
这是一起高度专业化的供应链攻击,攻击者通过劫持 Axios 主要维护者的 npm 账户,向超过 1 亿周下载量的热门包注入恶意代码。
攻击时间线(UTC 时间)
- 3 月 30 日 05:57 — 攻击者发布
[email protected](干净诱饵包) - 3 月 30 日 23:59 — 发布恶意版本
[email protected],植入 postinstall 钩子 - 3 月 31 日 00:21 — 发布恶意版本 [email protected][1](1.x 分支)
- 3 月 31 日 01:00 — 发布恶意版本 [email protected][2](0.x 分支)
⚠️ 受影响版本
[email protected](shasum: 2553649f2322049666871cea80a5d0d6adc700ca)[email protected](shasum: d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71)
✓ 安全版本
[email protected](shasum: 7c29f4cf2ea91ef05018d5aa5399bf23ed3120eb)[email protected](shasum: ab1be887a2d37dd9ebc219657704180faf2c4920)
攻击方式分析
第一步:维护者账户劫持
攻击者攻陷了 Axios 主要维护者的 npm 账户(jasonsaayman),将账户注册邮箱更改为攻击者控制的 ProtonMail 地址([email protected])。
第二步:依赖投毒
恶意版本在 package.json 中添加了从未使用的依赖 plain-crypto-js@^4.2.1。该包包含 postinstall 钩子,在安装时自动执行恶意脚本。
第三步:RAT 投放
恶意脚本(setup.js)连接 C2 服务器 sfrclak.com:8000,根据操作系统下载不同载荷:
- macOS: 伪装成 Apple 缓存守护进程(
/Library/Caches/com.apple.act.mond) - Windows: 复制 PowerShell 到
%PROGRAMDATA%\wt.exe,通过 VBScript 隐藏执行 - Linux: 下载 Python 脚本到
/tmp/ld.py并后台运行
第四步:自我清理
执行完成后,恶意脚本删除自身并将 package.json 替换为干净存根,试图隐藏攻击痕迹。
对 OpenClaw 用户的影响
关键风险: OpenClaw 主程序及多个官方/社区插件在 package.json 中声明了对 Axios 的依赖。如果用户在 3 月 31 日后执行了
npm install或pnpm install,可能已安装恶意版本。
潜在风险场景
- 新安装 OpenClaw 的用户(使用
npm install -g openclaw@latest) - 更新 OpenClaw 或插件的用户
- 在 CI/CD 环境中自动构建的部署
- 开发环境中执行过依赖安装的开发人员
可能泄露的敏感信息
- SSH 密钥和云服务商凭证
- 飞书/钉钉/Discord 等聊天平台的 API Token
- 数据库连接字符串和 API 密钥
- 本地开发环境中的其他敏感配置文件
修复建议
第一步:检查是否受影响
检查 axios 版本:
npm list axios 2>/dev/null | grep -E "1\.14\.1|0\.30\.4"
检查 package-lock.json:
grep -A1 '"axios"' package-lock.json | grep -E "1\.14\.1|0\.30\.4"
检查恶意依赖包:
ls node_modules/plain-crypto-js 2>/dev/null && echo "POTENTIALLY AFFECTED"
第二步:立即修复
- 降级到安全版本:
npm install [email protected] # 1.x 用户
npm install [email protected] # 0.x 用户
- 在 package.json 中添加版本锁定:
{
"dependencies":{"axios":"1.14.0"},
"overrides": {"axios":"1.14.0"},
"resolutions":{"axios":"1.14.0"}
}
- 删除恶意依赖包:
rm -rf node_modules/plain-crypto-js
npm install --ignore-scripts
- 如果已执行恶意脚本:
⚠️ 立即将系统视为完全沦陷! 不要尝试原地清理,应从已知安全状态重建系统,并轮换所有凭证(SSH 密钥、API Token、云服务等)。
长期预防措施
- 始终锁定依赖版本,避免使用
latest或未限定范围的版本 - 在 CI/CD 中启用依赖审计(如
npm audit、Socket.dev 等) - 设置
npm config set min-release-age 3避免安装刚发布的新包 - 定期审查 lockfile 变更,警惕未经审查的依赖更新
参考来源
[1][email protected]: mailto:[email protected]
[2][email protected]: mailto:[email protected]
[3]StepSecurity – axios Compromised on npm: https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan
[4]GitHub – axios/axios Issue #10604: https://github.com/axios/axios/issues/10604
[5]Aikido Security – axios compromised on npm: https://www.aikido.dev/blog/axios-npm-compromised-maintainer-hijacked-rat
[6]Socket.dev – Supply Chain Attack on Axios: https://socket.dev/blog/axios-npm-package-compromised
[7]VibeAudits – Axios npm Supply Chain Attack: https://vibeaudits.com/blog/axios-npm-supply-chain-attack-31-march-26-what-happened-whos-affected
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:M01N Team 天元实验室 天元实验室《OpenClaw依赖包Axios遭供应链投毒:恶意版本植入远控木马》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论