返回首页

Axios npm 中的 RAT:幽灵依赖和 Claude Code 泄露

2026 年 3 月 31 日,记录了针对 npm 的攻击:Axios 中的 RAT 通过幽灵依赖和 Claude Code 源代码泄露。机制剖析、检查和干净室架构重写。

Axios 中的木马和 50 万行 Claude Code:npm 攻击剖析
Advertisement 728x90

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] 的依赖——该软件包在攻击前一天创建。此依赖项未在代码中导入,属于幻影依赖。

攻击机制

安装过程如下:

Google AdInline article slot
  • npm installpackage.json 下载所有依赖项。
  • plain-crypto-js 执行 postinstall 脚本。
  • 脚本从 C2 服务器下载有效载荷。
  • 部署适用于 macOS、Windows 和 Linux 的跨平台 RAT。
  • 脚本恢复干净的 package.json,掩盖痕迹。

标准代码审查无法检测此问题:JS 文件是干净的,可疑依赖项仅在清单中可见。扫描器必须检查传递依赖包的 postinstall 脚本。

立即行动

| 分支 | 恶意版本 | 安全版本 |

|--------|-------------------|--------------|

Google AdInline article slot

| 最新版 | 1.14.1 | 1.14.0 |

| 旧版 | 0.30.4 | 0.30.3 |

检查:

Google AdInline article slot
  • 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

Advertisement 728x90

继续阅读