Claude Code 源码泄露事件:51万行代码背后的故事
Claude Code 源码泄露事件:51万行代码
2026年3月31日,AI圈发生了一场"地震"——Anthropic的Claude Code CLI客户端源码意外泄露,近51万行代码公之于众。本文带你深入了解这一事件的始末、技术细节以及其深远影响。
📌 事件概述
2026年3月31日,安全研究员 @Fried_rice 发现 @anthropic-ai/claude-code npm 包中的 cli.js.map 文件包含了完整的 sourcesContent,可以无损还原所有 4,756 个 TypeScript 源文件,代码总行数超过 512,000 行。
这是一个典型的构建产物泄露(build artifact leak)安全事件,瞬间在GitHub上引发狂欢,短时间内获得12,000+ stars和18,000+ forks。
🔍 泄露的真相
发生了什么?
Anthropic在发布npm包时,意外将包含完整源码映射的source map文件一同发布。这个source map文件包含了:
- 4,756 个TypeScript源文件
- 57-59.8 MB 的source map大小
- 完整的
sourcesContent字段
通过简单的脚本,任何人都可以将这些源码还原:
const fs = require('fs'), path = require('path');
const map = JSON.parse(fs.readFileSync('package/cli.js.map', 'utf8'));
for (let i = 0; i < map.sources.length; i++) {
const content = map.sourcesContent[i];
if (!content) continue;
let relPath = map.sources[i];
while (relPath.startsWith('../')) relPath = relPath.slice(3);
const outPath = path.join('./claude-code-source', relPath);
fs.mkdirSync(path.dirname(outPath), { recursive: true });
fs.writeFileSync(outPath, content);
}
好消息与坏消息
| 好消息 | 坏消息 |
|---|---|
| ✅ 泄露的是CLI客户端代码 | ⚠️ 内部架构完全透明 |
| ✅ 不是模型权重或训练数据 | ⚠️ 安全机制详细可见 |
| ✅ 不是用户隐私数据 | ⚠️ 权限控制体系暴露 |
| ✅ Anthropic已紧急回退版本 | ⚠️ 攻击者获得"详细地图" |
📦 三个版本详解
GitHub上迅速出现了多个整合版本,方便不同需求的开发者:
01. 原始破解版
- 来源:Janlaywss/cloud-code
- 包含:原始npm包、还原脚本、完整源码
- 适合:想了解还原过程的研究者
02. 学术研究版
- 来源:Rito-w/claude-code
- 包含:纯源码快照 + 详细架构分析文档
- 适合:想学习Claude Code架构的开发者
03. 可运行版(推荐)
- 来源:Rito-w/ClaudeCode
- 包含:配好依赖和shims,
bun install && bun run dev即可启动 - 适合:想实际运行Claude Code的人
🏗️ 技术架构亮点
技术栈
- 运行时: Bun + Node.js >= 24.0.0
- 语言: TypeScript
- UI框架: React + Ink (终端UI)
- CLI框架: Commander.js
- 验证: Zod v4
核心系统
-
工具系统 - 53个工具实现
- BashTool、FileReadTool、FileEditTool
- AgentTool、MCPTool、GitTool
- 等等…
-
命令系统 - 87个斜杠命令
/commit- 提交代码/review- 代码审查/compact- 压缩上下文/mcp- MCP服务器管理
-
权限系统 - 四级模式
default: 交互式确认auto: ML分类器自动审批bypass: 跳过检查yolo: 全部拒绝
-
安全防护
- 路径遍历攻击防护
- Unicode标准化攻击防护
- 反斜杠注入检测
- 敏感文件保护(.gitconfig、.bashrc等)
🔐 隐藏功能大曝光
泄露的源码揭示了Claude Code的众多隐藏功能:
编译开关控制的功能
# 协调器模式 (多Agent)
export CLAUDE_CODE_COORDINATOR_MODE=1
# 主动模式
export CLAUDE_CODE_PROACTIVE=1
# 简报模式
export CLAUDE_CODE_BRIEF=1
# 自定义模型
export ANTHROPIC_MODEL="claude-sonnet-4-20250514"
# 最大输出token
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16384
编译时特性
源码中包含 90+ 个特性开关,涵盖:
- 上下文管理策略
- 反幻觉机制
- 防越狱检测
- 语义校验与事实核查
⚠️ 安全建议
如果你在 2026年3月31日 12:21 - 3:29 UTC 期间通过npm更新过Claude Code,请立即:
- 检查恶意依赖:查看lock文件中是否有
axios 1.14.1或0.30.4,以及plain-crypto-js依赖 - 立即行动:如发现恶意版本,立即轮换所有凭证
- 使用官方安装:Anthropic推荐使用原生安装程序
- 降级版本:回退到2.1.86版本
- 监控账号:关注API账户异常活动
📊 关键数据一览
| 指标 | 数值 |
|---|---|
| 源文件总数 | 4,756 |
| 核心源码 | ~1,906 文件 |
| 代码行数 | 512,000+ |
| Source Map大小 | 57-59.8 MB |
| 工具实现 | 53 个 |
| 斜杠命令 | 87 个 |
| UI组件 | 148 个 |
💡 思考与启示
这次泄露事件给AI行业带来了诸多思考:
- 构建流程安全:source map等调试文件不应进入生产环境
- 开源 vs 闭源:Claude Code的泄露让更多人了解了AI CLI工具的内部工作机制
- 社区力量:短短几小时内,开发者们就完成了源码还原、版本整合、文档编写
对于普通用户而言,这次泄露没有直接安全风险,因为泄露的是客户端代码而非模型本身。但对于安全研究者和开发者来说,这无疑是一次难得的学习机会。
📚 参考资料
- GitHub: Claude Code Source v2.1.88
- TechStartups: Anthropic’s Claude source code leaked
- Cybersecurity News: Claude Code Source Code Leaked
本文仅供技术研究学习使用,源码版权归Anthropic所有。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)