乐于分享
好东西不私藏

Claude Code 源码泄漏:防泄漏系统自己先漏了

本文最后更新于2026-03-31,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

Claude Code 源码泄漏:防泄漏系统自己先漏了

今天刷到一条消息,差点以为是愚人节提前开整。

Anthropic 的 Claude Code,客户端完整源码被公开了。不是黑客攻击,是他们自己发 npm 包的时候,忘了把一个调试文件排除掉。512000 行代码,1900 个文件,57MB 的 source map,就这么静悄悄地躺在公开的 npm 注册表里。

作为一个带了二十多年技术团队的人,我第一反应不是震惊,是心疼。这种低级失误,每个做过发布的团队都可能犯。但犯在 Anthropic 身上,味道就不一样了。


一个打包配置翻的车

事情的经过很简单。安全研究员 Chaofan Shou 在例行检查 npm 包时发现,Claude Code v2.1.88 的安装包里包含了一个 .map 文件。source map 本来是开发调试用的,能把压缩混淆后的代码还原成原始源码。

问题出在 Claude Code 用的打包工具 Bun。Bun 默认生成 source map,除非你手动关闭。Anthropic 的打包配置里漏掉了这一步。

更离谱的是,map 文件里还包含了一个指向 Anthropic R2 云存储桶的链接。顺着链接,任何人都能下载完整的、未混淆的 TypeScript 源代码。不需要任何黑客技术,一条 npm install 就够了。

几小时内,源码被传上 GitHub,拿下 1100 颗 Star、1900 个 Fork。Anthropic 紧急推送更新删除旧版本,但 GitHub 存档已经永久保存。互联网没有”撤回”功能。


源码里到底有什么

先说清楚边界:泄漏的不是 Claude 的模型权重,也不是训练数据,是 Claude Code 的客户端实现代码。就是开发者每天在终端里敲的那个 CLI 工具。

但说实话,里面的东西还是超出了我的预期。

40 个权限门控工具,29000 行代码。 文件操作、Bash 执行、网页抓取、LSP 集成,全部有独立的权限控制。光是工具系统就是插件化架构,工程复杂度远超我之前的想象。查询引擎更夸张,46000 行,所有 LLM API 调用、流式传输、缓存和编排逻辑全在里面。

不过真正炸锅的,是几个从未公开的秘密功能。

KAIROS,永不下线的 AI 助手。 不是简单的后台运行。它能跨会话持久化、接收 GitHub webhook、执行定时任务,甚至夜间会自动”做梦”,跑一个四阶段的记忆整理流程。计划 5 月上线。我个人对这个功能期待值拉满。

BUDDY,AI 宠物。 你没看错,Anthropic 在做拓麻歌子。18 种物种(鸭子、龙、水豚、蘑菇、幽灵),按用户 ID 种子程序化生成,有稀有度分级,1% 传说级。五维属性里居然有”混乱值”和”毒舌值”。原计划 4 月 1 日放出 teaser,结果被自己的 source map 抢了先。

ULTRAPLAN,30 分钟深度思考。 把复杂规划任务卸载到远程容器,用 Opus 4.6 跑最长半小时的深度推理,还带浏览器审批流程。

另外还有个代号叫 Capybara 的新模型家族,三个层级,具体能力不明。


最讽刺的细节

源码里有个系统叫 Undercover Mode,专门防止 Anthropic 员工在参与公开仓库时泄漏内部信息。它会自动在 commit 和 PR 中剔除敏感内容。

然后这个防泄漏系统,随着完整源码一起被泄漏了。

Hacker News 上的一条高赞评论说:这大概是 2026 年最讽刺的事。我觉得他说得对。


Hacker News 上吵成了什么样

帖子拿下 451 分、236 条评论,两极分化严重。

代码质量方面,有人扒出一个单函数 3167 行、12 层嵌套、486 个分支点。评价是典型的 vibe coding,AI 生成优先拼速度,可维护性全看运气。React 渲染终端界面被形容为”absolutely cursed”。说实话,带过团队的人看到这种代码,条件反射就想开 code review 会议。

还有一个让我笑了半天的发现:源码里有一段基于正则表达式的用户负面情绪检测,连脏话识别都有。一家做大语言模型的公司,用正则检测用户情绪,这反差萌属实有点大。

当然也有人替 Anthropic 说话:客户端 JavaScript 本来就对所有人可见,source map 只是让读起来更方便。还有人类比 Meta 的 Llama,觉得泄漏反而可能推动 AI 工具生态的发展。


同一天,Axios 也翻车了

更魔幻的巧合是,Claude Code 源码泄漏的同一天,知名 HTTP 库 Axios 的 npm 包因维护者账号被劫持遭到供应链攻击。

两件事叠在一起,npm 生态的安全信任直接被推到了风口浪尖。2025 年 npm 上发布了 45.4 万个恶意包,占所有开源恶意软件的 99%。每一次 npm publish,本质上都是一次信任交易。

一家教开发者写安全代码的 AI 公司,在打包这件最基础的事情上翻了车。这个段子,够程序员们讲一阵子了。


影响到底有多大

对普通用户来说,这次泄漏没有直接安全风险,不涉及模型权重、用户数据或 API 密钥。

但对 Anthropic 的影响不算小。Claude Code 贡献了公司约 18% 的营收,2026 年还有 IPO 计划。”连 .npmignore 都配不好”这个标签,对资本市场来说不太好看。

竞争对手虽然复制不了底层模型,但现在可以翻着源码研究 Claude Code 的产品架构、工具系统和多智能体编排。这些本来属于技术壁垒的东西,现在变成了公开教材。

对我们这些普通开发者,教训就一条:发包前跑一遍 npm pack --dry-run。这条命令能让你看到包里到底装了什么。用 Bun 的同学尤其注意,source map 默认是开着的。

一个 57MB 的调试文件,闹出来的动静,可能比你想象的大得多。


今天这事你怎么看?KAIROS 永驻助手和 BUDDY AI 宠物,哪个更让你期待?评论区聊聊,顺手点个「在看」,让更多开发者看到这个消息。