Axios npm 账户遭劫持:通过幻影依赖与 Claude 代码泄露传播 RAT 木马
2026 年 3 月 31 日,攻击者劫持了 Axios 维护者(jasonsaayman)的 npm 账户,发布了恶意版本 1.14.1(最新版)和 0.30.4(旧版)。这些软件包在三个小时内(UTC 时间 00:21 至 03:15)分发了一个 RAT 木马。鉴于 Axios 每周下载量达 1 亿次,潜在危害巨大。
Axios 代码本身未被篡改。攻击者在 package.json 中添加了对 [email protected] 的依赖——该软件包在攻击前一天创建。此依赖项未在代码中导入,属于幻影依赖。
攻击机制
安装过程如下:
npm install从package.json下载所有依赖项。plain-crypto-js执行postinstall脚本。- 脚本从 C2 服务器下载有效载荷。
- 部署适用于 macOS、Windows 和 Linux 的跨平台 RAT。
- 脚本恢复干净的
package.json,掩盖痕迹。
标准代码审查无法检测此问题:JS 文件是干净的,可疑依赖项仅在清单中可见。扫描器必须检查传递依赖包的 postinstall 脚本。
立即行动
| 分支 | 恶意版本 | 安全版本 |
|--------|-------------------|--------------|
| 最新版 | 1.14.1 | 1.14.0 |
| 旧版 | 0.30.4 | 0.30.3 |
检查:
package-lock.json/yarn.lock中是否存在恶意版本。- 依赖项中是否包含
plain-crypto-js。
如果发现——系统已感染。请轮换密钥、令牌和密钥。IOC 已由 StepSecurity、Socket 等发布。
归因于 UNC1069/Lazarus——典型的通过账户劫持而非 npm 注册表入侵的供应链攻击。
Claude 代码通过 Sourcemap 泄露
同一天,Anthropic 发布了 @anthropic-ai/[email protected],附带一个 59.8 MB 的 cli.js.map 文件。该 sourcemap 揭示了约 512,000 行 TypeScript 代码、1,900 个文件、系统提示、内存逻辑、规划逻辑以及未公布的功能。
原因与后果
.npmignore 中的错误:source map 未从软件包中排除。sourcemap 引用了 Anthropic 的公共 R2 存储桶。在 Chaofan Shou 报告后,代码迅速在 GitHub 上被镜像。
Anthropic 删除了该版本并发布了补丁,但镜像已传播。这不是黑客攻击,而是构建错误。
净室实现:从泄露到开源项目
Sigrid Jean(instructkr)在不复制源代码的情况下,用 Python 重写了 Claude Code 架构,避免了 DMCA 问题。使用 oh-my-codex 进行加速。
实现包括:
- 代理框架。
- 工具。
- 内存与规划。
- 群组子代理。
claw-code 仓库在 2 小时内获得 50,000 颗星,一天内超过 100,000 颗——创下 GitHub 记录。Rust 移植版也颇受欢迎。该项目定位为改进的框架工具。
关键要点
- Axios 中的幻影依赖:RAT 伪装成加密库,通过 postinstall 激活,跨平台。
- Claude 代码泄露:由于缺少 .npmignore,通过 sourcemap 泄露 512k 行代码。
- 净室方法:用 Python/Rust 重写架构绕过 DMCA,创建开源替代方案。
- 锁定文件检查:检测 1.14.1/0.30.4 和 plain-crypto-js 至关重要。
- npm 账户审计:维护者劫持是供应链攻击的途径。
— Editorial Team
暂无评论。