3 月 31 日上午,我像往常一样例行查看服务器状态,随便升级了下 OpenClaw 的版本到 2026.3.28,本来是一次再正常不过的升级,没想到刚升级不久,就收到了来自阿里云的短信、邮件及 APP 消息提醒:服务器出现了紧急安全事件 - 蠕虫病毒命令(第一次收到阿里云的安全报警,非常及时,点赞!)。我想着也没做什么危险的事情,以为是误报,就没有在意。
晚上我看到圈子里安全消息,才反应过来真的是结结实实地中了病毒。
事情大概是这样的
axios 是广泛使用的 JavaScript 网络库,是 JavaScript 生态最核心的依赖库之一。谁也没有料到就是这样一个重量级的基础库却在近期遭遇到了投毒。
攻击者用盗取来的 npm 维护者的账号,发布了[email protected] 和 [email protected] 两个投毒版本,这两个版本的 axios 依赖了 plain-crypto-js,这是攻击者精心准备的伪装成加密库的恶意代码,会在用户执行 npm install 时自动运行一段脚本,连接 sfrclak.com 并下载运行远控木马,影响包括了 Windows、Linux 及 macOS。
而正好 OpenClaw 的依赖关系中包含 axios。如果用户恰巧在风险时间窗口(有分析文章将这个时间精确到 2026-03-31 08:21 至 2026-03-31 11:15)执行了安装或升级 OpenClaw 的操作,那么极有可能安装到了恶意版本的 axios。而我正是在这个时间段操作的升级。
如何排查
Linux 服务器可以运行以下命令,查看依赖的 axios 版本:
find / -path "*/node_modules/axios/package.json" | xargs grep '"version": "1.14.1"\|"version": "0.30.4"'
如果有打印结果,证明已经被感染了。
需要完全删除 node_modules/axios,并强制将 package.json 中依赖的 axios 版本修改为 1.13.6。
或者直接升级到最新版本的 OpenClaw,OpenClaw v2026.3.31 已经在 openclaw/package.json 中将 axios 版本固定设置为 1.13.6。
保险起见,还是要检查下本地是否有病毒残留:
find / -path "*/plain-crypto-js" # 如果有结果打印,将所有目录全部删除
rm /tmp/ld.py
强烈建议排查下中招的机器中存储的各类账户、Token 等敏感信息是否需要变更。
脆弱的软件生态
人们已经习惯享受 AI 带来的便捷和效率,却很少有意识到构建 AI 的软件设施其实是非常脆弱的。像这次的这种大的供应链投毒事件已经发生过多次,未来肯定还会继续发生,令人防不胜防。
为了自身的数据和隐私安全,一定要在隔离环境中体验 OpenClaw。这次也算是一个教训,以后更新升级软件时,记得提前到项目方查看下消息,等版本稳定后再升级。

留言板