乐于分享
好东西不私藏

Claude Code 源码泄露 51 万行!Anthropic「被动开源」,连「卧底模式」都没防住自己

Claude Code 源码泄露 51 万行!Anthropic「被动开源」,连「卧底模式」都没防住自己

📅 事件时间:

2026 年 3 月 31 日,愚人节前夜📦 泄露规模:51.2 万行 TypeScript 代码,1900+ 文件🔍 发现者:FuzzLand(Web3 安全公司)实习研究员💥 圈内评价:AI 界的「核泄漏」

愚人节前夜,AI 圈炸了。

2026 年 3 月 31 日,一个普通的工作日,Anthropic 的工程师们可能正准备下班过周末。

然后他们发现——Claude Code 的源码,在 npm 上裸奔了。

整整51.2 万行 TypeScript 代码,1900+ 个文件,包括工具调用逻辑、权限系统、Agent 架构、提示词工程……全部打包成了一个 57MB 的 Source Map 文件,静静躺在 npm 注册表里,等着任何人来下载。

发现者倒不是黑客——是 Web3 安全公司 FuzzLand 的一名实习研究员。


🔓 一个 .map 文件,怎么就闯了大祸?

说白了,就是一次打包失误

Source Map 文件是干嘛的?是把压缩混淆后的生产代码映射回原始源码,用于调试。发布到 npm 时,这东西本不应该放进去

但 Anthropic 的构建流程出了疏漏,57MB 的 cli.js.map 被一起打进了正式包。

更糟糕的是,这个 .map 文件直接指向 Cloudflare R2 存储桶——一个任何人都能访问的公开链接。

换句话说:

不需要反编译,不需要逆向——只要下载这个 npm 包,点开 .map 文件,51 万行代码就直接摊在你面前。

🤦 最讽刺的是:代码里有「卧底模式」

所谓「卧底模式」(Undercover Mode),据说是用来防止员工在公开仓库里暴露内部信息的。

Claude Code 专门做了这个模块,来确保自己人不会泄密。

结果——自己先把家底全抖出来了。

这个「卧底模式」现在成了全网笑柄,被戏称为「年度最佳讽刺代码」。


📊 泄露了什么?影响有多大?

泄露内容
说明
完整 TypeScript 源码
512,000 行,未经混淆
工具调用机制
40+ 内置工具的实现细节
权限系统
Claude Code 的安全边界逻辑
Agent 架构
多层状态管理、任务系统
未发布功能
Kairos 持久进程等多项新功能曝光
提示词工程
System Prompt 完整曝光

✅ 好消息:

模型权重没泄露,用户数据没泄露,普通用户没有直接安全风险。

❌ 坏消息:

护城河没了。Claude Code 最核心的工程实现被看光光了。

⚠️ 代码下架了,但损失已经造成

Anthropic 反应很快,紧急下架了问题版本。

但已经太晚了——

代码已经被 GitHub 镜像留存,开源社区的 Fork 和 Star 疯涨。即便 npm 包被删除,这些代码已经在全球开发者的硬盘里永久存在。

💣 这次泄露,被业内称为 AI 界的「核泄漏」

🌍 被动开源,对行业意味着什么?

虽然不是主动开源,但 51 万行代码摆在所有人面前,其影响不容小觑:

  • 🏢 竞争对手:可以深入研究 Claude Code 的工程设计
  • 🔬 AI 研究者:第一次有机会完整分析头部 AI 编程工具的 Agent 架构
  • 🔒 安全社区:可以审计代码中的潜在安全漏洞
  • 🚀 独立开发者:可以借鉴其设计思路,做自己的 Agent 工具

某种程度上,这是 Anthropic 给全行业发了一份「免费午餐」


🔄 一周两次「被动开源」,Anthropic 该反思什么?

巧了,就在几天前,Anthropic 刚因为第三方 CMS 配置错误,泄露了将近 3000 份内部文件。

一周之内,两次「被动开源」。

问题不在于技术多复杂,而在于流程和检查机制。CI/CD 最后一步的发布检查,npm 包发布前的审核——这些本该是最后防线的地方,全线失守。

一家以安全著称的公司,在发布流程上出了最基础的纰漏,这个教训值得所有 Tech 公司记取。


✍️ 写在最后

这个事件发生在愚人节前一天,戏剧性拉满。

Claude Code 带着「卧底模式」的源码被扒了个精光,防得了别人泄密,防不住自己手滑。

不过对整个 AI 行业来说,这次泄露未必是坏事——技术扩散加速,行业壁垒降低,后来者能从中吸取的营养,远比失去的要多。

至于 Anthropic……

🚀 建议先把 CI/CD 流程从头到尾 review 一遍。


💬 你对这个事件怎么看?欢迎留言讨论 👇