0x01 案发现场:谁动了我的"小龙虾"?
今天早上,大量升级 OpenClaw(小龙虾)3.28 版本 的用户发现系统触发安全预警。这不是普通的 Bug,而是一场蓄谋已久的供应链投毒。
风险路径直击:
~/.npm-global/lib/node_modules/openclaw/node_modules/axios
在该路径下,你会发现一个幽灵版本:axios@1.14.1。
{#section path-to-node="8"}
0x02 深度复盘:投毒者是谁?
真正的"下毒者"并非 OpenClaw 开发团队,而是劫持了 axios 核心维护者账号的黑客。
-
账号劫持:2026 年 3 月 31 日凌晨,黑客获取了 npm 官方仓库
axios的发布权限。 -
影子版本:黑客绕过 GitHub 源码审查,直接向 npm 推送了两个带毒版本:
1.14.1和0.30.4。 -
自动感染:OpenClaw 3.28 在构建时由于未锁定精确版本,自动抓取了这些"最新"的毒包。
{#section-1 path-to-node="11"}
0x03 毒性分析:它是如何致死?
黑客在 axios@1.14.1 中静默插入了一个虚假依赖包:plain-crypto-js。
-
木马载体:该包伪装成加密库,实则是跨平台远控木马(RAT)。
-
后门行为:安装即执行。它会回连黑客的 C2 服务器,窃取你宿主机的环境变量(包含各种 API Key)、系统登录凭证,并具备执行任意 shell 命令的能力。
-
自毁隐蔽:执行成功后会尝试自我抹除,常规的
npm scan很难抓到它。
{#section-2 path-to-node="14"}
0x04 架构师的"避坑"反思
作为 IT 架构师,我们必须意识到:凡是能联网拉取依赖的环节,皆是后门。
-
禁绝
npm install -g:生产环境或高安全要求的开发机,严禁直接在宿主机全局安装工具。应全部改为 Docker/OCI 容器化运行,实现进程与文件系统的双重隔离。 -
强制版本锁定:在
package.json中使用固定版本号(移除^或~),并配合npm-shrinkwrap.json或pnpm-lock.yaml锁定整棵依赖树。 -
私有仓库审计:企业内部必须搭建私有 npm 仓库(如 Nexus),配置上游代理过滤策略,禁止未经审计的新版本自动进入内网。
{#section-3 path-to-node="17"}
0x05 紧急补救措施
如果你已经升级了 OpenClaw 3.28,请立即执行以下操作:
-
断网:切断受影响机器的互联网连接。
-
强制清理:执行
npm uninstall -g openclaw并在全局路径手动删除残留的node_modules。 -
修改密钥:立即更换该机器上接触过的所有 SSH Key、云服务秘钥和数据库密码。
【摘要】2026年国际AI安全报告:通用型人工智能的风险临界点与全球治理范式重构
核心威胁模型:供应链所有权劫持 (Supply Chain Ownership Hijack)