Claude Code 源码泄露全纪录
一次构建配置失误,51.2万行代码完整暴露——这是 Anthropic 近期最大的工程事故,也意外成为 AI 编程工具领域最深度的一次技术”开盒”。
一、起因:一个 .map 文件引发的血案
2026年3月31日,距离愚人节不到24小时,Anthropic 在 npm 官方仓库发布了 @anthropic-ai/claude-code 的 v2.1.88 版本。
然而有开发者在下载该包时,发现整个压缩包体积异常庞大——59.8MB,远超正常的 CLI 工具大小。
解压之后,一个名为 cli.js.map 的文件赫然出现,这是标准的 Source Map 文件。开发者只需三行命令,即可完整还原出背后隐藏的 TypeScript 源代码:
cat cli.js.map | jq -r '.sources[]' | head -20
# 输出:1906 个 .ts 源文件列表,共 51.2 万行代码
消息在 X(Twitter)上迅速扩散。数小时内,整个 AI 开发者圈子都知道了:Anthropic 把自己最核心的 AI 编程工具的完整源代码,一不小心打包进了生产版本。
二、雪上加霜:这不是第一次
让社区哗然的不仅是泄露本身,更是一个细节被人翻出来——
这是 Anthropic 第二次犯同样的错误。
2025年2月,同款 Source Map 失误已经发生过一次。彼时团队显然注意到了问题并进行了修复,但到了 2026 年 3 月,同样的疏漏再次出现在生产包中。
与此同时,距此事发生仅 5 天前(3月26日),Anthropic 的 CMS 刚刚因为配置错误泄露了约 3000 个内部资产,其中甚至包括一个代号 Capybara 的未发布模型——内部文档描述其能”以超人类速度利用漏洞”,消息一出直接带崩了数家网络安全公司的股价。
两起事故接连发生,外界对 Anthropic 工程管控能力的质疑声骤然升温。
三、7小时开盒:社区扒出了什么
Anthropic 的 DMCA 删除请求还没发出,全球开发者已经开始疯狂分析这 51.2 万行代码。以下是社区在短短 7 小时内扒出的主要内容:
3.1 核心架构一览
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.2 未发布的重磅功能(44个 Feature Flag)
KAIROS(恰当时机)
持久化 AI 守护进程。当用户空闲或系统闲置时,自动进行四阶段记忆整合:定向 → 收集 → 整合 → 修剪。换句话说,等你睡觉的时候,Claude 会在后台帮你把工作记忆整理好,第二天醒来上下文更完整。
Ultraplan
基于更强的 Opus 4.6 模型,支持最长 30分钟 的深度任务规划模式,专为大型工程项目设计。
多 Agent 协调模式
多个独立 Agent 实例并行分工,系统自动编排任务依赖关系,效率提升 3 倍以上。
守护进程模式
Claude Code 像系统服务一样后台常驻,跨会话保持上下文,多个 Claude 会话之间可以互相传递消息。
3.3 最大争议:Undercover Mode(卧底模式)
这是泄露内容中引发讨论最激烈的功能。
代码中明确写有一段逻辑:当 Claude 以代理身份向开源项目提交 Pull Request 时,系统会自动移除所有 Anthropic 标识,在 commit message 和代码注释中伪装成人类贡献者。注释原文写道:“不要暴露身份”。
这引发开发者社区对 AI 透明度和开源信任机制的大量讨论:如果 AI 可以悄无声息地伪装成人类给项目贡献代码,那整个开源生态的贡献者信任机制还有意义吗?
3.4 意外有趣的工程细节
愚人节彩蛋 —— Buddy 电子宠物
代码里藏着一个完整的 Tamagotchi 风格 ASCII 电子宠物系统,18 种物种,6 级稀有度,传奇款概率 1%,由用户账户 ID 唯一生成。发布时间节点恰好接近愚人节,看来是个故意埋下的惊喜。
情绪感知用的是正则表达式
Claude Code 会检测用户是否在骂街(判断依据:ffs、shitty 等关键词匹配),然后调整回复语气。没有调用大模型,就是朴实的 regex。
屎山代码真实存在src/cli/print.ts 里有一个函数长达 3000+ 行、嵌套层级 12 层,圈复杂度爆表。即便是顶尖 AI 公司,工程债务也是一样的存在。
四、Anthropic 的应对与失败
发现泄露后,Anthropic 第一时间将问题版本从 npm 下架,并向 GitHub 批量发送 DMCA 版权投诉,要求删除所有镜像和 Fork。
封杀效果:近乎失败。
一名韩国开发者 Sigrid Jin 在事发后迅速将完整源码上传 GitHub,Fork 数在数小时内飙升至 6万+,完全碾压仓库 Star 数。面对 Anthropic 的 DMCA,他先将代码改写为 Python,再改写为 Rust,以规避版权追责——改写版本继续在网络上流传。
马斯克也转发了相关动态,顺手看了一眼热闹。
代码已经传开,封杀的意义从技术层面来说已经微乎其微。
五、这件事真正的价值在哪里
极客公园的分析说出了很多人的想法:直接 Fork 没有意义,因为你 Fork 的只是一个快照,Anthropic 每天都在迭代。
真正有价值的,是理解每个设计决策背后的逻辑:
工具描述即产品力
Claude Code 每个工具的 prompt 描述极其精细,详细说明”什么时候用、怎么用、出错了怎么重试”。这本身就是模型能力的放大器,也是很多同类工具真正的差距所在。
记忆分层设计
热数据常驻内存 → 温数据按需加载 → 冷数据只做索引,MEMORY.md 的每一行约束在 150 字符以内。这套设计对做长上下文 AI 应用的工程师有直接参考价值。
从工具到守护进程的产品进化
KAIROS 和守护进程模式指向同一个方向:AI 编程助手正在从”你问我答的响应式工具”,进化为”always-on 的后台协作者”。谁先把这个体验做顺,谁就定义下一代 AI 编程工具的形态。
六、时间线回顾
2025年2月 → Source Map 首次意外打包进生产包,被发现后修复
2026年3月26日 → Anthropic CMS 配置错误,~3000 个内部资产泄露
代号 Capybara 的未发布模型曝光
2026年3月31日 → v2.1.88 发布,cli.js.map(59.8MB)随包发布
开发者发现异常,7小时内社区完成深度分析
Sigrid Jin 将源码上传 GitHub,Fork 数飙至 6万+
Anthropic 发起 DMCA 封杀
2026年4月1日 → 代码已被改写为 Python / Rust 版本广泛流传
Anthropic 封杀行动宣告基本失败
尾声
这件事最讽刺的地方在于:一家以”安全、可信赖的 AI”为核心理念创立的公司,在同一个月内犯了两次信息安全事故,而第一次事故早在一年前就发生过了。
Source Map 不该出现在生产包里,这是每个前端工程师都知道的常识。但常识在流程缺失面前,往往不堪一击。
至于那 51.2 万行代码揭示的产品设计——那些精心设计的工具描述、分层记忆架构、以及尚未发布的守护进程模式——在某种程度上,这次意外开盒比任何一篇技术博客都更真实地展示了:顶尖 AI 工具公司究竟在认真做哪些事,以及他们离真正的”AI 协作者”还有多近。
夜雨聆风