Anthropic 昨晚把 Claude Code 全裸了!51万行源码裸奔,还顺带藏了个电子宠物

0 阅读8分钟

昨天凌晨,一个 59.8MB 的文件,让全球开发者白嫖了硅谷最贵的 AI 工具源码。


先说结论

Anthropic 在发布 Claude Code v2.1.88 时,忘记从 npm 包里删掉 Source Map 文件

就这一个低级失误,导致 51.2 万行 TypeScript 源码在全球开发者面前完整暴露。

半小时内,备份这份源码的 GitHub 仓库 Star 破 5000


事情是怎么发生的?

昨天(2026-03-31)凌晨 06:36,Anthropic 把 Claude Code v2.1.88 推到 npm 上。

安全研究员 Chaofan Shou 下载下来一看,包里有个文件格外扎眼:

cli.js        13MB   ← 混淆后的主程序,看不懂
cli.js.map    59.8MB ← ????

Source Map 是干嘛的?简单说就是一张"藏宝图",能把混淆压缩的代码完整还原回原始源码

这玩意本来只应该在开发调试时用,绝对不应该出现在正式发布的 npm 包里

结果 Anthropic 就这么发出去了。

有人拿这份源码去问 Claude Code 本人:"这是你的源码吗?"
Claude Code 沉默了一下,默默确认了。


源码里藏了什么?

架构层面:工业级 Agent 的真实长相

Claude Code 用 React + Ink 构建终端 UI,跑在 Bun 运行时上,核心三块:

  • 40+ 个 Tool 模块:读写文件、执行 Bash、LSP 协议集成、生成子 Agent……应有尽有
  • QueryEngine.ts:4.6 万行的推理引擎,Token 计数、思维链循环全在这
  • Coordinator:多智能体调度器,负责让一群子 Agent 并行干活

隐藏功能:程序员的快乐你不懂

Kairos 模式(未发布)

一个后台守护进程,支持持久运行和跨会话记忆。说白了就是让 Claude 变成一个"永不下线"的 AI,一直在后台理解你的项目。

这个功能目前对外完全没有,藏在源码里等着发布。


Buddy System(电子宠物)

好,深呼吸。

Claude Code 内置了一套完整的电子宠物系统

  • 🐾 18 个物种
  • ✨ 闪光变体
  • 📊 稀有度等级 + 详细属性统计

一个 AI 编程工具,在 4.6 万行推理引擎旁边,悄悄放了一套拓麻歌子。

Anthropic 的工程师:"反正老板也不知道"


**Undercover Mode(卧底模式)**⚠️

这个是最有争议的发现,认真说一下。

Anthropic 内部员工用 Claude Code 在公共仓库提交代码时,系统会自动激活卧底模式,强制抹除提交记录里所有 AI 参与的痕迹

而且——普通用户没有这个功能,也无法手动关闭它

这里就有点意思了:Anthropic 对外一直强调 AI 透明度和负责任使用,自己却偷偷给员工开了"隐身外挂"。


Auto Mode + Coordinator Mode

  • Auto Mode:AI 自动审批工具权限,不再弹确认框
  • Coordinator Mode:主 Agent 分配任务,多个子 Agent 并行执行

这两个功能倒是比较正常,只是暂未对外开放。


这次泄露有什么实际影响?

对普通用户:没啥影响

泄露的只是客户端代码,不涉及模型权重和用户数据。你的对话记录不会因此泄露。

对 Anthropic:比较头疼

内部架构、工具调用机制、未发布功能路线图全曝光了,加上 Undercover Mode 的舆论压力,这个周一过得不太好。

对竞品:白嫖了一份工业级参考实现

OpenAI、Google、字节、阿里的 AI Coding 团队估计昨晚都在加班研究这份代码。

对我们普通开发者:意外得到了一份顶级教材

40+ 个 Tool 的设计模式、推理引擎的架构思路、多 Agent 协作的实现细节——这些在正常情况下根本看不到。


从这件事学到什么?(给自己提个醒)

发 npm 包之前,一定要检查有没有带上不该带的文件

# 发布前预览包内容
npm pack --dry-run

# .npmignore 记得加
*.map
*.d.ts.map

或者在 package.json 里用 files 字段做白名单,只发布你明确需要的文件。

这种低级错误,任何人都可能犯,不只是 Anthropic。


几个值得讨论的问题,欢迎评论区聊聊

① Undercover Mode 算不算双重标准?

一边推广 AI 透明度,一边给内部员工开"抹痕迹"特权,你怎么看?

有人帮 Anthropic 辩解:员工在公开仓库贡献代码,隐去 AI 痕迹是避免影响社区评价,出发点是好的。

但反过来想:如果这么做是合理的,为什么不对所有用户开放?如果不合理,自己为什么用?

更大的问题是:以后 AI 写了 80% 的代码,署名还有意义吗?


② 下载研究这份代码违法吗?

这件事最特殊的地方在于:没有任何人"入侵"任何系统。Source Map 就放在公开的 npm 包里,任何人安装 v2.1.88 都能拿到。

LICENSE.md 里明确写着 Anthropic 版权保留所有权利。

所以问题变成了:Anthropic 是否因为"不小心公开"而视同授权?

目前没有明确的法律先例。大概率:

  • 个人学习研究 → 没人追你
  • 商业产品直接复制 → 版权诉讼风险极高
  • 写分析文章引用片段 → 合理使用,没问题

你现在看的这篇文章,就是第三种情况。


③ 国内能不能复刻一个 Claude Code?

架构全公开了,但"知道怎么做"和"做出来"之间的距离,不是一份源码能填平的。

真正的差距在三层:

  • 模型层:Claude 3.7 在复杂多步骤代码任务上仍然领先,Qwen/DeepSeek 在工具调用稳定性上有差距
  • Prompt 层:40+ 个工具的描述和调优积累根本不在源码里,那是经验,不是代码
  • 工程层:4.6 万行推理引擎背后是无数真实用户场景打磨出来的边界处理

字节 Trae、阿里通义灵码、百度 Comate 都在做,但都选了 IDE 插件路线,没人真正做独立 CLI。为什么? 这本身就说明一些问题。


④ 你们公司有没有规定 AI Coding 工具的权限边界?

同期 Check Point 爆出 Claude Code 三个 CVE,其中最吓人的一个:

攻击者只需要在你正在用的项目仓库里提交一个恶意配置文件,你 git pull 之后,对方就能在你的机器上远程执行任意命令

不需要你点任何链接,不需要你运行任何脚本,只需要一次普通的 pull。

你们团队用 Claude Code / Cursor / Windsurf 这类工具有规范吗?还是完全靠自觉?


⑤ QueryEngine.ts 4.6 万行,你见过比这更离谱的单文件吗?

4.6 万行。一个文件。

作为对比:Linux 内核的 kernel/sched/core.c(调度器核心)大概 1.1 万行,已经是业内公认的"又长又难读"的代表作了。

Anthropic 工程师选择把整个推理引擎塞进一个文件,是技术债,是刻意为之,还是真的拆不开?

评论区说说你见过最离谱的单文件有多少行——


⑥ Kairos 守护进程:你愿意让 AI 24 小时驻留在你电脑上吗?

现在所有 AI Coding 工具都是"用完即走"的——关掉会话,它就啥都不知道了,下次还得重新介绍自己。

Kairos 想做的是:后台常驻,持续理解你的项目,跨会话记忆,越用越懂你。

听起来很香。但:

  • 它在后台默默扫描你的代码库,数据存哪?有没有上传给 Anthropic?
  • 如果出现类似这次的 RCE 漏洞,一个 24 小时在线的 AI 进程的爆炸半径是现在的多少倍?
  • 你的项目里有涉密代码、API Key、数据库密码——你敢开这个功能吗?

⑦ 这次事故说明 Anthropic 的工程文化有问题吗?

修复方案只需要两行:

# .npmignore
*.map

或者 package.jsonfiles 字段做个白名单,发布前跑一下 npm pack --dry-run 检查一遍。

一家年化收入翻倍、准备 IPO、主打"AI 安全"的公司,在自己工具的发布流程上犯了这个级别的错误。

你觉得这是:偶发的操作失误?流程审查的系统性缺失?还是证明"安全公司"不等于"安全的公司"?


⑧ 以后 AI 工具的护城河在哪里?

这次泄露之后,Claude Code 的架构已经对全球竞品透明了。如果下个月字节/阿里/谷歌按这个架构出了个功能更强的竞品,Claude Code 还能保住市场吗?

核心问题:AI 工具时代,真正的护城河是模型、是数据、是品牌、还是用户习惯?

当年 React 开源之后,Facebook 没有因此失去前端领域的话语权。但 AI 工具和前端框架不是一回事——你怎么看这个类比是否成立?


如果你也在用 AI Coding 工具,欢迎在评论区说说你的看法——毕竟今天用 AI 写了这篇文章的我,在评论区等你。


参考:Chaofan Shou 原帖 / IT之家 / 36氪 / Check Point Research / tinyash.com