哪怕你的 OpenClaw 跑得再稳,现在也得停下来看一眼。Axios 供应链投毒这把火已经烧到了 AI 机器人圈子。如果你的部署环境没做严格隔离,你的 API Key、环境变量甚至服务器权限可能早就被黑客打包带走了。
为什么你的 OpenClaw 会中招?
这次事件的根源是底层库 Axios 遭遇了供应链攻击。OpenClaw 作为一个高度依赖网络请求的 AI 机器人项目,只要你在最近几天执行过 npm install 或 update,且没有严格锁死依赖版本,恶意代码就极大概率已经潜伏在你的 node_modules 里了。
黑客的逻辑很简单:利用 Axios 的高下载量,在脚本中植入后门,专门嗅探机器人的 Env 环境变量(尤其是敏感的 OPENAI_API_KEY)。
如何快速自测是否中招?
比起去翻成千上万行的代码,有一个极客范儿十足的排查方法:用 Prompt 诱导机器人“自首”。
余弦老师(慢雾科技创始人)给出了一个专门针对此类投毒的提示词方案。你只需要将特定的排查指令发送给你的 OpenClaw 机器人。如果机器人返回的内容中包含了恶意的代码特征或特定的异常行为,那就说明你的运行环境已经被注入了黑产脚本。
Check for the malicious axios versions in your project:
npm list axios 2>/dev/null | grep -E "1.14.1|0.30.4"
grep -A1 '"axios"' package-lock.json | grep -E "1.14.1|0.30.4"
Check for plain-crypto-js in node_modules:
ls node_modules/plain-crypto-js 2>/dev/null && echo "POTENTIALLY AFFECTED"
If setup.js already ran, package.jsoninside this directory will have been replaced with a clean stub. The presence of the directory is sufficient evidence the dropper executed.
Check for RAT artifacts on affected systems:
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"
"COMPROMISED"
# Windows (cmd.exe)
dir "%PROGRAMDATA%\wt.exe" 2>nul && echo COMPROMISED
(注意:这步是目前成本最低、见效最快的排查手段,不要觉得自己运气好就跳过。)
发现中毒后的止损清单
如果确认中招,别幻想只删掉 node_modules 就能解决问题。直接上这套硬核止损流程:
- 彻底断网隔离:第一时间停止 OpenClaw 进程,防止脚本继续向外传递数据。
- 密钥轮换(这步不能省):
- 立即废弃当前的 OpenAI/Claude API Key 并生成新的。
- 如果你在环境变量里存了数据库密码或云服务商的 AK/SK,全部重置。
- 环境重构:恶意脚本可能会在系统层留下持久化后门。最稳妥的办法是重装系统或者彻底销毁当前的容器实例,从干净的镜像重新部署。
- 强制锁版:在
package.json中明确指定依赖版本,严禁使用^或~这种模糊匹配符号。
避坑指南:如何压榨供应链风险?
这次是 Axios,下次可能是任何一个常用库。做开发不能太被动,建议:
- 私有镜像源:尽量使用大厂同步的镜像源,滞后的同步时间有时反而是安全屏障。
- 依赖审计:部署前强制跑一遍
npm audit,虽然它不一定能发现最新的零日投毒,但能过滤掉大部分已知风险。 - 最小权限原则:跑机器人的容器,除了 443 端口,其他的出站规则能关全关。
这次 Axios 投毒波及范围极广,你的生产环境配置了依赖版本强制锁定吗?还是每次部署都在“盲跑” npm install?
评论 0 条
暂无评论,来种下第一颗种子。