乐于分享
好东西不私藏

Claude Code 源码泄露完整复盘

Claude Code 源码泄露完整复盘

51万行代码裸奔13个月:Anthropic 同一个问题踩两次

想象一下,你是一家估值180亿美元的AI独角兽,你最核心的编程工具源代码被人扒了个精光——不是被黑客入侵,而是因为你发布npm包时忘了一个点号。2026年3月31日,这出堪称”AI界年度最佳讽刺剧”真实上演了。

一、事件前因后果:一部13个月的”连续剧”

第一次泄露(2025年2月24日)

故事的起点,要从一年前说起。

Claude Code 刚上线不久,Anthropic在npm发布的安装包中,夹带了一个23MB的cli.js.map文件——这是Source Map文件,里面包含完整的源代码映射信息。安全研究员发现后报告,Anthropic紧急下架、删除相关版本,发布v0.2.9修复问题。

按理说,吃一堑长一智。但显然,Anthropic的团队没有长记性。

第二次泄露(2026年3月31日)

2026年3月31日凌晨4点23分,Anthropic按部就班地在npm发布了@anthropic-ai/claude-code v2.1.88版本。

这原本是一次普通的版本迭代。但他们忘了一件事——用Bun打包时,默认开启的Source Map生成功能没有被关闭,而.npmignore文件中也没有添加*.map的排除规则。

结果?一个59.8MB的cli.js.map文件,被原封不动地打包进了生产环境的npm包。

这个文件里,有个叫sourcesContent的字段,直接存储着Claude Code全部原始TypeScript代码——1906个文件、51.2万行代码、一个字符都不少

当天下午4点30分,区块链安全公司FuzzLand的实习研究员Chaofan Shou(@Fried_rice)在检查npm包时发现了这个异常。

他随手输了几行命令:

npm pack @anthropic-ai/claude-code@2.1.88tar -xzf anthropic-ai-claude-code-2.1.88.tgzcat package/cli.js.map | jq -r '.sourcesContent[]'

51万行完整可读的TypeScript源码,就这样被还原了。

17:00,他在X平台(原Twitter)曝光此事。

18:00,GitHub上出现首个镜像仓库,1小时后狂揽1.1万Star、1.7万Fork。

19:00,Anthropic终于反应过来,紧急下架问题版本、推送v2.1.89修复。

但为时已晚——代码已经被无数次备份、传播、去中心化存储。

后续”闹剧”:DMCA封杀反杀

4月1日,Anthropic向GitHub提交DMCA下架通知,试图遏制源码扩散。

结果,由于过度依赖自动化工具匹配,误伤了约8100个无关仓库——包括一些正常的开源项目、甚至是Anthropic自身的部分开源项目分支。

开发者社区炸锅了。Boris Cherny(Claude Code项目负责人)紧急致歉,撤回误删请求。Anthropic颜面尽失。

讽刺的是,去中心化Git平台Gitlawb直接把源码做了镜像,公开喊话”永远不会被下架”。


二、泄露了什么?比你想象的更劲爆

51万行代码里藏着什么?

这次泄露的不是Claude大模型权重或训练代码,而是Claude Code客户端的完整生产级代码

具体包括:

类别
内容
源代码规模
1906个TypeScript/TSX文件,51.2万行代码
技术栈
TypeScript + Bun + React + Ink + Commander.js + Zod v4
功能模块
40+独立工具模块、50+Slash命令
未发布功能
44个内部Feature Flag,20余项隐藏功能

8大未官宣的”黑科技”

代码中挖掘出的未发布功能,让开发者社区疯狂:

  1. KAIROS守护进程
    :让Claude成为7×24小时自主运行的AI Agent,可定时任务、监听GitHub事件
  2. 自动部署模式
    :代码中被引用超过150次
  3. 数据库操作模块
    :未上线的数据管理功能
  4. 网页爬虫功能
    :隐藏的数据抓取能力
  5. 反蒸馏机制
    :防止竞争对手模型抄袭,故意输出错误信息干扰
  6. 省钱引擎
    :追踪14种缓存失败原因,极致优化API调用成本
  7. 6级权限沙箱
    :文件读写、Shell执行、网络请求的严格权限控制
  8. 完整System Prompt
    :Claude Code的”底层世界观”、指令规则、行为边界全曝光

用一句话总结:Anthropic花了两年多研发的核心竞争力,被自己一次低级失误免费送给了全行业。


三、当前可用的修复仓库(实时状态:2026年4月)

⚠️ 重要提示:原始泄露代码因DMCA下架已无法访问,但以下是社区贡献的合法替代方案,建议按需选用:

1. 净室重写项目(推荐 ⭐)

项目
语言
Stars
Forks
地址
claw-code
Python/Rust
97.8k 90.5k
github.com/instructkr/claw-code[1]

这是史上最快破10万Stars的仓库之一——发布2小时冲破5万,24小时破10万,创下GitHub历史纪录。

由韩国开发者Sigrid Jin创建,全程AI辅助(oh-my-codex工作流),从零重写Claude Code核心架构,明确声明不保留任何原始代码作为跟踪状态,法律风险极低。README标注为学习/研究用途,活跃更新中(23分钟前刚commit)。

项目亮点:

  • 命令系统、工具manifest、slash命令全部重新实现
  • 并行Rust系统语言移植(Rust占比92.8%)
  • 插件模型、hook pipeline完整

2. 本地可运行修复版(推荐动手能力强的开发者)

项目
Stars
Forks
地址
claude-code-haha 1.9k 2.5k
github.com/NanmiCoder/claude-code-haha[2]

国内大佬连夜基于泄露源码修复的版本,解决了原始泄露代码无法直接启动的问题。支持任意Anthropic兼容 API(MiniMax、OpenRouter等),有Windows启动教程。5小时前还在更新。


3. 直接镜像仓库(学术研究用)

项目
Stars
Forks
地址
claude-code-fork
186
532
github.com/DonutShinobu/claude-code-fork[3]

完整还原泄露的src/目录(1900+文件)。目前还在,没被删,但随时可能被DMCA。


4. 其他值得关注

项目
语言
特点
地址
clawedcode
Rust
专注速度与终端体验,教育目的
github.com/suryavirkapur/clawedcode[4]
li-ruijie/claude-code
多运行时
Windows/Linux便携版,Node.js和Deno双支持
github.com/li-ruijie/claude-code[5]

5. 官方安全版本

如需使用官方修复版本,请从npm安装最新版:

npm install -g @anthropic-ai/claude-code@latest

四、行业影响:谁受伤?谁获益?

受伤的:Anthropic

  • 声誉崩塌
    :以”安全AI”为口号的公司,连续犯低级安全错误
  • 商业承压
    :Claude Code年化ARR达25亿美元(占公司19.5%),IPO估值被投行下调最高30%
  • 技术壁垒消失
    :核心竞争力被抹平,竞品可直接借鉴

获益的:整个行业

受益方
获益内容
国产AI编程工具
可快速借鉴,代码生成准确率提升已被曝达40%
中小开发团队
零成本复刻顶级AI编程助手
安全研究人员
51万行源码 = 完整的AI Agent开发教程
开源社区
催生多个跨语言重写项目

五、安全启示:所有技术团队都该警惕

1. 发布流程是生命线

  • .npmignore/.gitignore必须严格配置
  • 构建配置需专人审核
  • 生产包文件内容必须校验

2. Source Map绝不能进生产包

Source Map的sourcesContent字段,会把压缩混淆后的代码100%还原成原始可读源码。行业规范要求:

  • ✅ 生产环境必须删除.map文件
  • ✅ 构建配置中关闭Source Map生成
  • ✅ CI/CD流程中增加自动化检查

3. 一次泄露不等于终身免疫

Anthropic第一次泄露后,仅做了紧急修复,没有建立完善的发布审核机制。13个月后,同一个坑摔了第二次。 这说明安全机制不能头痛医头脚痛医脚。


结语

Claude Code的这次”被开源”,给整个行业上了生动一课:

在AI时代,核心竞争力不在于代码是否保密,而在于模型能力、迭代速度、用户体验。 Anthropic的代码虽然泄露了,但Claude模型的能力、品牌的先发优势依然存在。

对于开发者而言,这51万行代码更像是一座”工业级教科书”——从架构设计到代码风格,从工具模块到Agent实现,全都是可以学习借鉴的珍贵资料。

毕竟,真正的护城河,从来不是代码本身。

引用链接

  1. github.com/instructkr/claw-code: https://github.com/instructkr/claw-code
  2. github.com/NanmiCoder/claude-code-haha: https://github.com/NanmiCoder/claude-code-haha
  3. github.com/DonutShinobu/claude-code-fork: https://github.com/DonutShinobu/claude-code-fork
  4. github.com/suryavirkapur/clawedcode: https://github.com/suryavirkapur/clawedcode
  5. github.com/li-ruijie/claude-code: https://github.com/li-ruijie/claude-code