乐于分享
好东西不私藏

51万行代码裸奔:Claude Code源码泄露始末

51万行代码裸奔:Claude Code源码泄露始末

一个 57MB 的 .map 文件,撕开了这家顶级 AI 公司的全部秘密。

3月31日下午,开发者 Chaofan Shou 发了一条推文。内容很简单:一个下载链接,附上一句”Anthropic 的 Claude Code 源码,完整版”。

几小时内,这条推文浏览量突破 530 万。

没有黑客攻击,没有安全漏洞,没有钓鱼邮件。Anthropic 把自己最核心的产品——Claude Code 的完整源码,亲手送上了互联网。原因荒诞到让人哭笑不得:发 npm 包的时候,忘了删 .map 文件。

一个实习生都不会犯的错,发生在了一家估值数百亿美元的 AI 独角兽身上。

但故事到这里,才刚刚开始。


一个 .map 文件,51 万行代码

Source Map(简称 .map 文件)是前端开发中很常见的调试工具。它的工作原理很简单:你写代码时是人类可读的格式,打包发布时会被压缩、混淆,变成机器能跑但人看不懂的样子。.map 文件就像一张”翻译表”,能把压缩后的代码映射回原始源码,方便调试。

但它不应该出现在生产环境里。 这是每个前端教程第一页就写的内容。

Anthropic 的 Claude Code 2.1.88 版本,在构建发布时,把这个 .map 文件一起打包进了 npm 包。文件名叫 cli.js.map,体积 57MB

一个开发者拿到这个文件后,写了个提取脚本。结果:

  • • 1906 个 Claude Code 自身的 TypeScript/TSX 文件
  • • 2850 个 node_modules 依赖文件
  • • 合计 4756 个文件,51.2 万行代码

全部还原。无需反编译,无需破解,直接解析 JSON 就能拿到原始代码。

Anthropic 反应很快,紧急下架了包含 .map 文件的 npm 包,GitHub 上的镜像仓库也收到了 DMCA 删除通知。

但已经晚了。早期版本的 npm 包被社区广泛存档,源码在开发者之间快速传播。DMCA 能删除仓库,删不掉已经下载到几百万台电脑上的代码。


泄露了什么?比你想象的多得多

如果只是泄露了一个命令行工具的代码,事情不会闹这么大。

问题是,开发者们扒开源码后发现,Claude Code 的工程架构远比公开产品展示的要复杂得多。更关键的是,里面藏着大量未发布功能,有些甚至让人怀疑 Anthropic 是不是真的在偷偷搞 AGI。

几个最引人注目的发现:

KAIROS:会做梦的常驻 AI

如果说 BUDDY 是工程师的浪漫,那代号 KAIROS 的功能就暴露了 Anthropic 在 AGI 方向上的野心。

我们现在跟大模型对话,基本是”阅后即焚”。关掉网页,新开对话,一切从头来过。KAIROS 想打破这个局面——它被定义为 “Always-On Claude”(永远在线的克劳德)

它在源码里出现了 150 多次,代号取自古希腊语,意为”在正确的时机”。

KAIROS 不只是一个长文本记忆库。能在不同会话间保持持续记忆,把你的工作习惯、项目背景存在私密目录里,甚至有权限主动发起任务。

更让人眼前一亮的是代码里的 Nightly Dreaming(夜间做梦) 机制。

人类睡觉时,大脑会整理白天的碎片记忆,清除无用信息,巩固重要内容。Anthropic 把这个仿生学概念引入了 AI:KAIROS 会在夜间自动启动”做梦”进程,回溯你当天的交互,剔除冗余,把核心沉淀为长期记忆。

白天帮你写代码,深夜你睡着后,它在服务器里”做梦”来更懂你。

此外,源码还揭示了 Claude Code 的三层记忆架构——一个叫 MEMORY.md 的轻量索引文件,每行只存大约 150 个字符的”指针”,始终保留在上下文里。但它不是直接存答案,而是存”去哪里找答案”——模型被指示把自己的记忆当”线索”而非”事实”,每次行动前都要回去对照真实代码库验证。这个系统让 AI 主动怀疑自己的记忆,而不是闭着眼睛往前冲。

BUDDY:终端里的赛博宠物

源码里有一个代号 BUDDY 的项目,讨论度同样很高。

想象一下:你在黑底白字的终端里写代码,突然输入框旁边弹出一个像素风的对话气泡,里面住着一只专属于你的赛博宠物。它有情绪,会根据你的操作做出反应,甚至会在你写 bug 多了的时候表达”不满”。

这让人想起微软 Office 那个烦人的大眼夹 Clippy。但 BUDDY 是它的终极进化版——有生命感,有性格。

根据源码注释,这个功能原计划 4 月 1 日到 7 日作为彩蛋预热,5 月先向 Anthropic 员工内测。现在全世界都提前知道了。

反训练机制:防竞争对手”偷课”

这是最”辣”的部分,没有之一。

源码里有一个叫 ANTI_DISTILLATION_CC 的开关。一旦启用,Claude Code 在发 API 请求时,会悄悄在系统提示里塞入假的工具定义。目的只有一个:如果有竞争对手在录制 Claude Code 的 API 流量、想用这些数据训练自己的模型,那些虚假工具会污染训练数据,让他们的模型学歪。

还有另一套机制:服务端会对 AI 的回复做摘要,并打上加密签名——进一步让录制流量变得没有价值。

但有一说一,泄了就泄了。源码里的机制,任何认真读一个小时的人都能绕过去。真正的防线从来不是技术,是法律。

undercover.ts:悄悄提交代码不暴露身份

这一条争议最大。

一个 90 行的文件,功能是:当 Claude Code 被用于非 Anthropic 内部仓库时,会自动抹掉所有 Anthropic 内部信息——不提内部代号、不提内部频道,commit message 里不写”由 AI 生成”,不写 Co-Authored-By

也就是说,Anthropic 员工用 Claude Code 给开源项目提交代码,外人看不出来是 AI 写的。

这不违法,但确实让社区里不少人皱起了眉头。

ULTRAPLAN 与 Coordinator:AI 自己搞项目管理

源码中还发现了 ULTRAPLAN——一个给 AI 用的项目规划引擎,以及 Coordinator——多智能体协作调度器。

这说明 Anthropic 不只是在做一个”代码补全工具”,而是在搭建一个完整的数字员工生态:有记忆(KAIROS),有规划能力(ULTRAPLAN),有团队协作(Coordinator),甚至还有情绪陪伴(BUDDY)。


这意味着什么?

第一,安全不是技术问题,是流程问题。

Anthropic 花数十亿美元研究 AI 安全对齐,却在一个 .map 文件上翻了车。这说明什么?再强的技术能力,也挡不住流程上的疏忽。安全不是某个团队的事,是每个发包前检查一遍的基础习惯。

对所有开发者来说,这是一个可以写进教科书的反面案例:发布前检查 .map 文件,CI/CD 流程里加上自动检测,别让这种低级错误毁掉你的产品。

第二,Anthropic 真正做的事,比我们以为的酷得多。

这次泄露虽然让 Anthropic 很尴尬,但从另一个角度看,它用最不体面的方式向外界展示了内部正在研发的东西有多前卫。

BUDDY 的设计哲学,KAIROS 的记忆架构,Nightly Dreaming 的仿生思路,ANTI_DISTILLATION_CC 的攻防策略……这些功能一旦落地,会重新定义”AI 工具”这个词的含义。它不再是一个”你问它答”的对话框,而是一个有记忆、有个性、有规划能力的数字伙伴。

第三,核心损失不是代码,是战略意图。

代码可以重构,架构可以调整。但 KAIROS 的存在、反训练机制的思路、下一代模型内部暴露的问题——这些”在想什么、还没解决什么”的信息,一旦泄露就收不回来了。

第四,开源社区的反应,比事件本身更值得玩味。

源码泄露后,社区的反应不是”怎么修复漏洞”,而是疯狂挖掘里面的隐藏功能。GitHub 上瞬间出现了多个镜像仓库,开发者们像拆盲盒一样逐个分析代码模块。

这说明什么?大家对 AI 工具的好奇心和参与热情,远超行业预期。Anthropic 的”野生发布会”虽然是被动的,但传播效果可能比任何一场精心策划的发布都要好。


写在最后

有人说,Anthropic 花了数十亿美元研究如何让 AI 更像人类。这次泄露事件给出了一个意外的答案:不用急,先让人类变得更像 AI 就行了——比如,学会在发布前自动执行一遍检查清单。

世界是个巨大的草台班子,这句话在 2026 年的第一天再次被验证。

但这场灾难又让人感慨万千。在 AI 行业越来越充斥着 PPT 画饼、期货发布和同质化竞争的今天,一份意外泄露的源码,反而让人看到了最真实的创新——那些藏在仓库深处、还没来得及打磨上线的功能,才是这家公司真正的底牌。

Anthropic 的工作人员大概正在经历一个不眠之夜。Token 消耗 Bug 还没解决,又来了史诗级源码泄露。

但换个角度想:全世界几百万开发者已经替他们做了一次免费的产品宣发。

GitHub备份: https://github.com/tanbiralam/claude-code

懒人版 PPT 详解 Claude Code: https://github.com/phodal/claude-code-codex-slide