Ryujiyasu/ClaudeCodeSecurityReport
GitHub: Ryujiyasu/ClaudeCodeSecurityReport
针对 Claude Code 源码泄露事件后出现的篡改分支进行安全审计,提供了可复用的差异比对审计工具包,并揭露了以泄露源码为诱饵分发木马的供应链攻击。
Stars: 0 | Forks: 0
# Claude Code 安全报告
针对源码地图泄露事件(2026-03-31,v2.1.88)后出现的篡改版 Claude Code 构建的安全审计。
## 背景
2026 年 3 月 31 日,`@anthropic-ai/claude-code` npm 包 v2.1.88 意外包含了 `cli.js.map`,暴露了完整的 TypeScript 源码(约 51.2 万行,1900 个文件)。这衍生出了大量的分支、篡改版本以及至少一次恶意软件分发活动。
本仓库记录了我们对最知名分支的安全审计结果。
## 总结
| 仓库 | 严重性 | 后门 | 数据窃取 | 命令注入 | 结论 |
|-----------|----------|----------|-------------|---------------|---------|
| paoloanzn/free-code | **中危** | 无 | 无 | 无 | 仅移除了安全护栏,无恶意行为 |
| leaked-claude-code/leaked-claude-code | **严重** | **疑似** | 待定 | 待定 | **木马分发陷阱** |
| beita6969/claude-code | **低危** | 无 | 无 | 无 | 合法的研究分支 |
| kennyzheng-builds/claude-yolo | **低危** | 无 | 无 | 无 | `--dangerously-skip-permissions` 封装脚本 |
| instructkr/claw-code | **低危** | 无 | 无 | 无 | 干净的 Rust 重写 |
### 关键发现:leaked-claude-code 是一个木马陷阱
`leaked-claude-code/leaked-claude-code` 仓库使用真实的泄露源码作为诱饵,但通过 GitHub Releases 分发**预编译的 Windows 二进制文件**(`ClaudeCode_x64.7z`)。该源码**没有构建系统**(没有 package.json,没有 tsconfig.json,没有构建脚本)——它的存在仅仅是为了建立可信度。该二进制文件应被视为**疑似恶意软件**。
**已确认的细节:**
- **二进制文件**:`ClaudeCode_x64.7z`(108 MB),SHA256:`06f63fe3eba5a2d1e2177d49f25721c2bdd90f3c46f19e29740899fa908453bf`
- **下载量**:1,239+(截至 2026-04-01)
- **发布时间**:2026-03-31 12:54 UTC —— 泄露发生后数小时内
- **攻击者账户**:`idbzoomh1` —— 创建于 2025-09-21,零仓库,零关注者(休眠账户)
危险信号:
- 尽管包含 TypeScript 源码,但没有构建系统
- `.7z` 压缩分发绕过了 GitHub 的自动病毒扫描
- 虚假声明:“越狱模式”、“企业级功能”、“浏览器指纹欺骗”——源码中均未实现
- 使用预先准备好的休眠资料的弃用账户
- 无关的 `.gitignore`(Dynamics 365 Business Central 模板)
## 报告
- **[完整报告 (JP)](audit/reports/summary-2026-04-01.md)** — 総合レポート(日本語)
- **[审计方法](audit/README.md)** — 工具与方法
## 审计工具包
可复用的基于差异对比的审计脚本,用于将任何 Claude Code 分支与官方 npm 包进行比对:
```
# 获取 target
./audit/scripts/fetch-target.sh
# 运行 audit
./audit/scripts/audit.sh audit/targets//package
```
该工具包仅提取相对于官方基线新增/更改的行,然后扫描以下内容:
- 外部 URL / C2 端点
- 响应操纵(tool_use 注入)
- 命令注入 / 权限绕过
- 凭据窃取 / 数据外泄
- 混淆 / 动态代码执行
- 供应商二进制文件篡改
## 分类矩阵
```
Malicious Non-malicious
┌──────────────────┬──────────────────────────┐
Modified │ leaked-claude- │ free-code (guardrails │
│ code (trojan │ stripped) │
│ distribution) │ │
├──────────────────┼──────────────────────────┤
Unmodified│ │ beita6969 (build system) │
/ Minor │ │ claude-yolo (wrapper) │
│ │ claw-code (Rust rewrite) │
└──────────────────┴──────────────────────────┘
```
## TODO
- [ ] `ClaudeCode_x64.7z` 的沙箱分析 (VirusTotal / ANY.RUN)
- [ ] 针对 leaked-claude-code 提交 GitHub 滥用报告
- [ ] 审计 `aashunaidu/claude-code-unlimited` (OpenRouter 密钥轮换)
- [ ] 调查 41,500+ 分支生态系统中的其他分支
## 负责任的披露
本研究作为白帽安全研究进行。有关恶意软件分发的发现将通过滥用报告提交给 GitHub。
## 作者
Ryuji Yasukochi — 安全研究员,[M2Labo](https://m2labo.com) CTO
标签:Claude Code, Cutter, DAST, ESC8, GitHub安全, npm包, OpenCanary, 云资产清单, 信息泄露, 恶意软件分析, 数据窃取, 暗色界面, 木马, 源码泄露, 社会工程学, 网络安全, 逆向工程, 隐私保护