OpenClaw SecurityMarch 31, 2026Axios 在 2026 NPM 攻击中被投毒:OpenClaw 项目遭恶意 RAT 入侵

核心要点
- Axios供应链攻击发生于2026年3月31日:维护者账户遭劫持后发布恶意版本1.14.1与0.30.4。
- OpenClaw遭受重创:其分支项目@shadanai/openclaw(版本2026.3.28-2、2026.3.28-3、2026.3.31-1、2026.3.31-2)与@qqbrowser/openclaw-qbot(0.0.130)在深层依赖中捆绑了恶意软件。
- 恶意软件机制:隐藏依赖项[email protected]通过安装后脚本部署跨平台远程控制工具(Windows/macOS/Linux),连接至命令控制服务器后自删除以隐藏痕迹。
- 影响范围:Axios周下载量达数亿次;OpenClaw在AI/自托管环境中的用户面临凭据盗窃与持久化访问风险。
- 紧急应对措施:审查锁文件、降级至安全版本、重建环境并轮换所有密钥。
Axios 供应链攻击解析
分析表明,此次攻击利用了 npm 生态系统的信任机制。主要维护者的 npm 账户遭入侵,恢复邮箱被替换为匿名 ProtonMail 地址,攻击者绕过 GitHub Actions CI/CD 流程手动发布了受污染的软件包。
Axios 核心源代码未被修改。攻击者注入了一个隐藏依赖项——[email protected]——伪装成合法的 crypto-js 库。该技术使得恶意载荷能通过任何使用脱字符版本范围(如 ^1.14.0 或 ^0.30.0)的项目进行传播。
此次攻击凸显了一个日益明显的趋势:供应链攻击现在更倾向于针对流行的间接依赖项而非主库本身,以此在最小化暴露风险的同时最大化影响范围。
技术深度剖析:恶意负载工作原理
安全研究人员拆解了该软件包,发现其采用多阶段感染链:
- 执行
npm install或npm update时,[email protected] 中的 postinstall 钩子会静默运行setup.js。 - 该脚本下载适用于 Windows、macOS 和 Linux 的第二阶段远程访问木马(RAT)。
- RAT 会向命令与控制服务器回传数据,窃取凭证并建立持久化驻留。
- 为规避检测,它会将自身的 package.json 替换为干净版本并清除临时文件。
这种设计确保恶意软件能逃过常规审查,并在开发机、CI 运行器和生产服务器间跨平台运作。相较于早期 npm 攻击事件(如 ua-parser-js 或 event-stream),2026 年 Axios 事件新增了跨平台 RAT 功能与自清除机制——将隐蔽性提升至新高度。
OpenClaw 暴露事件:具体版本与影响
OpenClaw 作为广泛使用的自托管AI网关与助手框架,通过直接依赖和供应商依赖两种途径受到影响。
受影响的软件包包括:
- @shadanai/openclaw(原始仓库的分支版本):版本 2026.3.28-2、2026.3.28-3、2026.3.31-1 和 2026.3.31-2 —— 恶意代码 plain-crypto-js 被深度嵌入其供应商依赖树中。
- @qqbrowser/openclaw-qbot:版本 0.0.130 —— 在其 node_modules 中明确包含了被污染的 [email protected]。
即使从未将 axios 列为直接依赖的项目,若引用了这些 OpenClaw 分支版本,也可能遭到入侵。原始 OpenClaw 主线仓库保持纯净,但分支版本和社区软件包扩大了影响范围。
谁面临风险:边缘情况与现实场景
任何在2026年3月31日至4月初期间执行过npm install、npm update或npm ci操作的环境都可能受到影响。高风险场景包括:
- 配置了自动依赖更新(如Renovate、Dependabot)的CI/CD流水线
- 在攻击日期触发构建的Dockerfile或容器镜像
- 锁文件可能隐藏间接依赖变更的Monorepo及Yarn/PNPM工作区
- 用于部署OpenClaw AI的开发机与共享服务器
社区反馈显示,数千个自托管AI环境中的OpenClaw实例运行着存在漏洞的版本,这使得此次事件成为Axios安全事件中波及范围最广的间接影响之一。
分步缓解措施:立即清理
请严格遵循以下检查清单:
-
审计依赖项(在您的 OpenClaw 或相关项目中):
npm list axios npm list @shadanai/openclaw npm list @qqbrowser/openclaw-qbot grep -E "axios@1\.14\.1|axios@0\.30\.4|plain-crypto-js" package-lock.json -
移除受污染的构建产物:
rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml -
在 package.json 中固定安全版本:
"axios": "^1.14.0"(或使用事件发生后发布的最新已验证安全版本)。
-
重新安装并验证:
npm install npm audit -
假设已遭入侵:轮换所有 API 密钥、SSH 凭证、云令牌及 OpenClaw 配置密钥。重建 Docker 镜像并重新部署。
对于 OpenClaw 的衍生版本,请切换回最新的安全主线版本或经过验证的社区补丁。
NPM 生态系统的高级防护策略
为抵御未来攻击,建议采取以下措施:
- 锁定精确版本并提交锁文件——生产环境中切勿依赖浮动版本范围。
- 集成自动化扫描工具(如 Socket Security、Snyk、npm audit、StepSecurity)至每次持续集成流程。
- 启用 npm 包来源验证与签名校验功能。
- 使用隔离构建环境(例如配备临时运行器的 GitHub Actions)。
- 通过监控工具追踪依赖变更,当维护者邮箱变更或出现新 postinstall 脚本时触发警报。
这些措施在遏制类似安全事件中已反复验证有效性,应成为所有 OpenClaw 或 Node.js 部署的标准实践。
结论
2026年3月31日的Axios供应链攻击事件表明,单个维护者账户被攻破后,其影响会以多快的速度波及整个开源生态系统——包括OpenClaw等流行AI工具。鉴于已发现明确受影响版本证据及复杂的远程访问木马(RAT)有效载荷,攻击窗口虽短但后果极其严重。
请立即使用上述命令和步骤审计您的项目。更新至安全版本、轮换所有凭证,并采取更严格的依赖项管理规范。OpenClaw与Axios社区已发布应对指南;防范下一次攻击的关键在于立即开展验证工作并保持长期警惕。