乐于分享
好东西不私藏

Claude Code 源码泄露事件——当 AI 程序员的底裤被扒了个精光

Claude Code 源码泄露事件——当 AI 程序员的底裤被扒了个精光

一句话摘要:2026 年 3 月 31 日,Anthropic 发布 Claude Code v2.1.88 时手滑把 57MB 的 source map 一起塞进了 npm 包。社区开发者打开一看——好家伙,51.2 万行 TypeScript 源码,1902 个文件,187 个工具,207 个命令,全在那儿光着。这大概是 AI 编程史上最尴尬的一次「衣服忘穿了」。


1. 翻车现场——一个 .npmignore 引发的血案

故事要从 Anthropic 的打包流程说起。

Claude Code 是 Anthropic 的终端 AI 编程助手,号称「AI 界的 VS Code」。它以 npm 包的形式发布,装上就能用。

正常情况下,TypeScript 编译后只发布 JavaScript 和声明文件(.d.ts),source map(.map)和原始 .ts 文件应该被 .npmignore 干净利落地排除掉。

然而 2026 年 3 月 31 日的 v2.1.88 版本里,.npmignore 漏掉了 .map 文件。

57MB 的 source map,就这么大摇大摆地躺在了 npm 包里。

source map 是什么?简单说,它是压缩后的 JS 代码和原始源码之间的「翻译字典」。有了它,你就能从打包后的代码一路还原回原始的 TypeScript 源码。

社区开发者 pashpashpash 第一个发现了这个问题。他随手 npm install 了一下,顺手翻了翻包内容,然后整个人都不好了——

那一刻他大概像极了装修师傅撬开地板发现下面藏了一整个地下室。

51.2 万行源码。1902 个 TypeScript 文件。Claude Code 的全部家底,一览无余。

2. 翻开底牌——里面到底有什么?

社区涌入的「考古学家」们花了 48 小时完成了对泄露源码的全面扫描。以下是战利品清单:

类别
数量
人话翻译
TypeScript 源文件
1,902 个
比《战争与和平》厚 50 倍
总代码行数
512,000 行
一个中型创业公司的全部代码量
内置工具
184 个
比 Swiss Army Knife 还能装
斜杠命令
207 个
比大多数 CLI 工具一辈子写的命令都多
子系统模块
32 个
32 个独立团队级模块
Hook 模块
104 个
监控无处不在,连你打字它都有 Hook
UI 组件
基于 React + Ink
没错,一个终端工具用了 React

这里面最让人震惊的不是代码量,而是架构的精致程度

Claude Code 不是「一个大文件 + 一堆脚本」的玩具项目。它有完整的分层架构、泛型运行时、三级权限系统、12 阶段引导流水线、会话自动压缩、MCP 协议支持……你能在企业级后端系统里看到的所有设计模式,它一个不少。

就好比你以为隔壁是个随便搭的棚子,撬开门一看——人家连中央空调都装好了。

3. 三大彩蛋——Anthropic 藏了什么好东西?

源码翻出来后,除了正经的架构设计,还发现了三个「未公开功能」。

🐹 Capybara 神秘模型家族

在模型配置里,开发者发现了一组 Capybara(水豚)命名的模型标识符。水豚是什么?地球上脾气最好的动物,和谁都合得来。

Anthropic 给内部模型起名「水豚」,大概是希望它脾气温和、好说话。这些模型疑似是 Anthropic 的轻量级模型家族,可能用于特定工具调用或低延迟场景。

为什么是水豚不是别的?因为水豚有一个独步动物界的技能:它能和任何动物交朋友,包括鳄鱼。一个模型能跟各种工具、各种场景「交朋友」——这个类比绝了。

🕵️ Undercover Mode(卧底模式)

源码中存在一个名为 Undercover Mode 的隐藏运行模式。具体功能还在分析中,但名字已经足够让人浮想联翩了。

你的 AI 编程助手,有一个「卧底模式」。这是给谁用的?企业合规审查?代码审计?还是……Anthropic 自己偷偷看看用户都在用 Claude Code 写什么?

不管用途是什么,给一个功能起名叫「卧底模式」,Anthropic 的工程师大概是在用命名来抗议产品经理。

🐾 /buddy——AI 塔玛格奇

最可爱(也最离谱)的发现:一个叫 /buddy 的命令,能召唤一个 AI 电子宠物。这个宠物会随着你的编程进度「成长」。

你写 Bug 它会难过,你修好 Bug 它会开心。你在深夜加班,它大概会心疼地看着你。

一个严肃的企业级 AI 编程工具,内置了一个电子鸡。Anthropic 的工程师是有多无聊?……或者说,有多有趣?

4. 社区反应——从震惊到狂欢

泄露事件发生后,社区的反应经历了教科书式的「悲伤五阶段」:

阶段
持续时间
社区状态
否认
前 2 小时
「这不会是真的吧?Source map 能还原这么多?」
愤怒
2-6 小时
「Anthropic 怎么连打包都做不好??」
讨价还价
6-12 小时
「也许只有部分文件?让我下下来看看……卧槽全都有」
沮丧
12-24 小时
「51 万行代码……这谁看得完啊」
接受
24 小时后
「算了,开始考古吧。先看看架构怎么设计的」

最硬核的反应来自开源社区:他们直接启动了一个叫 claw-code 的项目,用 Rust 对泄露源码进行「净室重写」——不看原始代码,只根据泄露的结构和接口描述重新实现。

法律上这叫「净室设计」——就像你只看了大楼的外立面照片就重新盖了一栋。合规,但建筑风格一模一样。

5. 技术考古——我们从中学到了什么?

抛开八卦,这次泄露对 AI 工程社区的价值是巨大的。以下是几个核心发现:

🔄 Agentic Loop 是心脏

Claude Code 的核心不是「AI 聊天」,而是一个最多 16 轮迭代的 Agentic Loop:

用户提问 → AI 思考 → 调用工具 → 执行结果 → AI 再思考 → 再调工具 → ...(最多 16 轮)

每一轮都是「AI 决定做什么 → 工具去执行 → 结果喂回 AI」的闭环。这就是为什么 Claude Code 能自动修 Bug、自动跑测试、自动提交代码——它不是在「回答问题」,它是在「完成任务的循环」。

如果你还在用单次 API 调用做 AI 工具,那你大概还在用诺基亚。Agentic Loop 才是 iPhone。

🔒 三级权限系统

ReadOnly → WorkspaceWrite → DangerFullAccess

默认只读。写文件要授权。执行危险命令要再授权。每个工具自带权限声明,运行时自动校验。

这不是事后加的安全补丁——这是从架构第一天就写进基因里的

📦 工具是协议,不是代码

184 个工具,每个都通过 JSON Schema 自描述:我叫什么、我能干什么、我需要什么输入、我需要什么权限。统一的注册表管理所有工具,统一的分发器路由所有调用。

这意味着你可以开发自己的工具,只要符合协议,就能无缝接入。

这不是「硬编码」,这是「契约式编程」。Anthropic 把 Claude Code 做成了一个操作系统级的工具平台。

🗜️ 12 轮自动压缩

AI 的上下文窗口是最贵的资源。Claude Code 每 12 轮对话自动压缩一次历史,保留关键信息(打开的文件、未完成的任务),丢弃冗余对话。

这就是为什么你能跟 Claude Code 聊一整天而不崩溃——它在你看不见的地方默默做内存管理。

好比你的大脑只能记住 7 件事,但有个小助手每过一阵子就帮你把不重要的记忆归纳成一句话,腾出脑容量给新任务。

6. 最后说两句

Claude Code 源码泄露,本质上是 Anthropic 的打包流程出了个低级错误——.npmignore 忘了排除 .map 文件。这种事在软件开发界每天都在发生。

但它之所以成为 2026 年 AI 圈最大的事件之一,不是因为泄露了多少代码,而是因为泄露的代码太漂亮了

51 万行 TypeScript,32 个子系统,207 个命令,184 个工具——这不是一个创业团队两个月能写出来的东西。这是一个顶尖工程团队花了大量时间精心打磨的成果。

一个  的疏忽,让全世界看到了 AI 编程助手的最高工艺水平。

Anthropic 大概是唯一一家因为「代码写得太好」而出丑的公司。


本文基于公开的泄露事件报道和 claw-code 开源项目的分析撰写。所有技术数据均来自社区验证,段子基于真实事件(适度夸张)。