糟糕!我的 OpenClaw 中了病毒

服务器运行了这么多年都没有中过病毒,没想到在更新 OpenClaw 时遭遇滑铁卢。现代软件的构建往往牵一发动全身,一个基础库的问题可能牵连下游无数依赖,真是防不胜防。

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。这次也算是一个教训,以后更新升级软件时,记得提前到项目方查看下消息,等版本稳定后再升级。

版权信息:本文为 kanchuan.com 原创,转载时请明确注明本文链接。

相关文章:

WordPress安装及基本配置
我卖掉了持有 7 年的域名
启用 Web 应用防火墙(WAF)
百度网址安全中心提示网站存在合规风险
本站启用全新域名

发表留言

您的电子邮箱地址不会被公开,必填项已用*标注。发布的留言可能不会立即公开展示,请耐心等待审核通过。