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 小时完成了对泄露源码的全面扫描。以下是战利品清单:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这里面最让人震惊的不是代码量,而是架构的精致程度。
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. 社区反应——从震惊到狂欢
泄露事件发生后,社区的反应经历了教科书式的「悲伤五阶段」:
|
|
|
|
|---|---|---|
| 否认 |
|
|
| 愤怒 |
|
|
| 讨价还价 |
|
|
| 沮丧 |
|
|
| 接受 |
|
|
最硬核的反应来自开源社区:他们直接启动了一个叫 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 开源项目的分析撰写。所有技术数据均来自社区验证,段子基于真实事件(适度夸张)。
夜雨聆风