昨天凌晨,一个 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.json 的 files 字段做个白名单,发布前跑一下 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