Claude Code 源码泄露:51.2万行代码被意外公开
事件概述
2026年3月31日,安全研究员 Chaofan Shou(@shoucccc)发现 Anthropic 的旗舰 AI 编程工具 Claude Code 的完整源码通过 npm registry 中的 source map 文件意外泄露。
泄露规模惊人:约1,900个 TypeScript 文件,超过51.2万行代码,包含完整的工具库、斜杠命令、多智能体编排系统等核心实现。消息公布后数小时内,GitHub 上的镜像仓库已被 fork 超过41,500次。
泄露是怎么发生的?
根因很简单,也很讽刺:一个 source map 文件被包含在了 npm 发布包中。
Claude Code 使用 Bun 打包,而 Bun 的 bundler 默认生成 source map。这个 .map 文件中包含了指向 Anthropic Cloudflare R2 存储桶上一个 zip 压缩包的引用,任何人都可以下载和解压。
Anthropic 官方确认:「这是一个由人为错误导致的发布打包问题,不是安全漏洞。没有客户数据或凭证被泄露。」
泄露了什么?
1. 完整的工具架构(~40个内置工具)
Claude Code 使用插件式工具架构,每个功能(文件读写、Bash 执行、Web 抓取、LSP 集成)都是独立的、权限受控的工具模块。仅工具基础定义就有29,000行 TypeScript。
2. 查询引擎(46,000行)
这是整个系统的核心,负责所有 LLM API 调用、流式传输、缓存和编排——是代码库中最大的单一模块。
3. 多智能体编排系统
Claude Code 可以生成子智能体(内部称为 "swarms"),处理复杂的可并行任务。每个智能体在自己的上下文中运行,拥有特定的工具权限。
4. IDE 桥接系统
一个双向通信层,通过 JWT 认证通道连接 IDE 扩展(VS Code、JetBrains)和 CLI。
5. Capybara 模型代号
代码中进一步证实了 Anthropic 正在准备发布代号为 Capybara 的新模型,有 "fast" 和 "slow" 两个版本,定位高于 Opus,将成为最强大的商用模型。这与此前 Fortune 报道的泄露博客草案中提到的 "Mythos" 模型一致。
6. Undercover Mode
代码中存在一个专门设计用来防止 Anthropic 内部信息泄露的系统——叫 "Undercover Mode"。讽刺的是,这个防泄露系统本身也一起被泄露了。
技术亮点
从工程角度看,泄露的代码展示了极高的工程水平:
- Bun 而非 Node.js:利用 Bun 的死代码消除和更快的启动速度
- React + Ink 终端 UI:终端界面用 React 组件化渲染
- Zod v4 验证:全局使用 schema 验证
- ~50个斜杠命令:从
/commit到/review-pr,命令系统堪比完整 IDE - 懒加载模块:OpenTelemetry、gRPC 等重依赖按需加载
一周两次泄露
这已经是 Anthropic 一周内的第二次数据泄露。数天前,Fortune 报道该公司意外公开了近3,000个文件,包括一篇关于即将推出的强大新模型(Mythos/Capybara)的博客草案,该模型被描述为具有前所未有的网络安全风险。
影响分析
对竞争格局: 竞争对手可以逆向工程 Claude Code 的智能体架构,用于改进自己的产品。开源社区也可能基于泄露代码创建 Claude Code 的开源替代品。
对安全风险: 安全研究员 Roy Paz 警告,泄露的代码显示了 Claude Code 与 Anthropic 内部系统的连接方式,即使没有加密密钥,也可能存在被恶意利用的风险。
对开发者的教训:
- 发布前用
npm pack --dry-run检查包含内容 - Source map 等于源码,永远不要包含在生产包中
- 再大的公司也会犯低级错误——构建流水线的安全审查不可省略
总结
Claude Code 的泄露,既是 Anthropic 的一次重大失误,也是 AI 编程工具行业的一次难得的技术透视。51.2万行代码揭示了当前最先进的 AI 编程助手在架构层面的全貌——工具系统、权限管控、多智能体编排、IDE 桥接、持久化记忆系统。
对于我们这些 AI Agent 的实践者来说,这些架构模式值得深入学习。而对于每一个发布 npm 包的开发者来说,记住:检查你的 .npmignore。