Claude Code 源码泄露事件始末:51万行代码是如何"被开源"的?

2026年3月31日凌晨,Anthropic 旗下 AI 编程工具 Claude Code 的完整源码通过 npm 包意外泄露。51.2 万行 TypeScript 代码在数小时内被全球开发者镜像、分析、甚至用 Rust 重写。这是 Anthropic 一周内的第二次泄露事故,也可能是 AI 行业迄今最大规模的非故意代码曝光事件。

一、为什么会泄露?

1.1 直接原因:一个被遗忘的 source map 文件

2026年3月31日,Anthropic 将 @anthropic-ai/claude-code 的 2.1.88 版本发布到 npm 公共仓库。问题在于——这个包里附带了一个 59.8MB 的 .map 文件

Source map 是开发调试工具,它能将压缩混淆后的代码映射回原始源码。正常情况下,.map 文件绝不应该出现在生产发布包中。

Claude Code 使用 Bun 作为打包工具,而 Bun 默认生成 source map。要排除它,需要在构建配置中显式关闭,或者在 .npmignore / package.jsonfiles 字段中排除 *.map两者都没有做到。

更糟的是,这个 .map 文件不仅包含映射信息,还直接指向了一个托管在 Anthropic Cloudflare R2 存储桶上的 zip 压缩包——任何人都可以下载并解压获得完整源码。

正如工程师 Gabriel Anhaia 所评论的:

"一个配错的 .npmignore 或 package.json files 字段,就能暴露一切。"

1.2 深层原因:这不是第一次

事实上,这已经是 Anthropic 第三次在 npm 包中意外发布 source map。此前社区项目 CCLeaks 就曾通过类似方式逆向分析出未公开功能。

更值得注意的是,就在5天前(3月26日),Anthropic 刚刚经历了另一次泄露——约 3000 个内部文件被意外公开,其中包含一篇关于未发布模型 "Mythos"(内部代号 Capybara) 的草稿博客,揭露了这款"比 Opus 更大更强但也更贵"的新一代模型。

一周两次泄露,对于一家年化营收 190 亿美元、估值 3800 亿美元的 AI 公司来说,暴露出的是工程流程管控的系统性短板。

二、泄露了什么?

2.1 规模概览

指标 数据
文件数 ~1,900 个 TypeScript 文件
代码行数 512,000+ 行
内置工具 ~40 个
斜杠命令 ~50 个
Feature Flag 44 个(已构建但未上线)
Source map 大小 59.8 MB

alt

alt

2.4 代码质量争议

泄露代码也引发了对代码质量的讨论:

  • print.ts 单个文件 5,594 行,其中一个函数长达 3,167 行,包含 12 层嵌套和 486 个分支点
  • 一个 bug 曾导致每天浪费约 25 万次 API 调用,仅用三行代码就修复了
  • 情绪检测(用户是否在骂人)使用正则表达式匹配脏话词表,而非调用自家 LLM

三、项目推荐

项目 星标 说明
instructkr/claw-code 50K+(2小时达成,史上最快) Clean-room Python 重写,正在 Rust 重写
Kuberwastaken/claude-code 数千 源码备份 + 完整架构分析 + Rust 实现
Ahmad-progr/claude-leaked-files 教育用途泄露快照
其他大量 fork/mirror 总计 41,500+ fork 数小时内遍布全球

四、影响有多大?

4.1 竞争情报泄露

Claude Code 不是普通的前端代码。它是一个拥有文件系统访问、终端执行、代码仓库读写权限的 Agent 工具。泄露的实现细节大幅降低了竞对的研究成本,尤其是:

  • 信任边界如何在用户意图和执行之间划定
  • 权限执行机制如何控制高风险操作
  • 启动阶段的安全检查流程
  • 子进程中的凭据处理方式

4.2 安全攻击面扩大

Claude Code 此前已有多个 CVE 记录:

CVE 漏洞类型
CVE-2025-59828 信任前执行缺陷
CVE-2025-58764 命令审批绕过
CVE-2025-64755 只读验证失败
CVE-2026-21852 信任确认前的 API 请求

源码公开后,这些已知漏洞模式变得更容易被定向利用。

4.3 知识产权流失

对于一家年化营收 190 亿美元的公司来说,这不仅是安全事件,更是战略性知识产权外泄。架构模式、工具系统、多 Agent 编排——这些都已成为公共领域的讨论素材。claw-code 项目在 2 小时内就完成了 clean-room 重写并获得 5 万星标,证明社区有能力快速消化和复制这些模式。

4.4 对行业的影响

积极面:泄露客观上为整个 AI Agent 开发者社区提供了一份"工业级参考实现",加速了 Agentic AI 工具链的成熟。

消极面:反蒸馏机制和 Undercover Mode 的曝光引发了关于 AI 公司透明度和开源贡献伦理的广泛讨论。

五、最后结果

5.1 Anthropic 的应急响应

  • 第一时间将受影响的 2.1.88 版本标记为 deprecated,随后从 npm 注册表中撤下
  • 发布无 source map 的新版本
  • 官方声明:"今天早些时候,一个 Claude Code 版本包含了一些内部源代码。没有涉及或暴露任何敏感客户数据或凭据。这是一个由人为错误造成的发布打包问题,而非安全漏洞。"
  • 承诺推出防止复发的措施

5.2 但覆水难收

Anthropic 的响应速度不慢,但为时已晚:

  • 源码在数小时内被镜像到多个 GitHub 仓库,总计被 fork 超过 41,500 次
  • claw-code 等项目已经在此基础上构建新工具
  • 所有关键技术细节已被多篇深度分析文章详细记录
  • 互联网没有删除键——正如 Decrypt 的标题所说:"互联网永远保留了它"

5.3 给开发者的教训

这个事件给所有使用 npm 发布包的团队敲响了警钟:

  1. 检查构建流水线:确保 .map 文件被排除在发布配置之外
  2. 在 CI 中实施发布前检查:自动扫描最终分发包中是否包含 .map 文件或 sourceMappingURL 指令
  3. source map 走私有通道:通过私有上传服务而非公共 CDN 分发调试文件
  4. 不要假设"默认安全":Bun 默认生成 source map,不显式关闭就会泄露
#Claude Code泄露源码#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务