乐于分享
好东西不私藏

claudecode源码泄露,被扒出了不想让人知道的44个秘密(附源码zip)

claudecode源码泄露,被扒出了不想让人知道的44个秘密(附源码zip)

百亿美金公司Anthropic 更新CC时把源码泄露了,被扒出了他们不想让大家知道的 44 个秘密

⚡ 这不是一次普通的打包事故,而是一次把产品路线、内部策略和工程细节一起暴露出来的源码级泄露。

昨晚 4 点 23 分,一个叫 Chaofan Shou 的实习生发了条 X,两千八多万的浏览量。

他在 Claude Code 的 npm 包里发现了一个 59.8MB 的 .map 文件。

对前端开发者来说,source map 是调试神器——生产代码出错了,它帮你定位到原始源码的具体行。但这个文件只应该活在你的本地开发环境里,绝对不应该出现在公开发布的 npm 包里。

但是这个估值百亿美金的公司Anthropic 出现了,这么奇葩的失误。

果然世界是个巨大的草台班子,哈哈哈O(∩_∩)O哈哈~

那个 .map 文件指向了 Anthropic 自己的 Cloudflare R2 存储桶上的一个 zip 压缩包。下载、解压,1900 个 TypeScript 文件,512,000 行代码,全部明文。

GitHub 上的 fork 数在两小时内破了 4 万。

先聊聊怎么发生的

锅可能在 Bun。

Anthropic 去年收购了 Bun,Claude Code 就跑在 Bun 上。Bun 有个已知 Bug(issue #28001,3 月 11 日提交,至今未修),会在生产模式下依然打出 source map——而 Bun 自己的文档明确说生产模式不该有这东西。

⚠️ 最讽刺的一层

源码里明明有一个 **Undercover Mode**,专门防止 Claude 在 commit 里泄露 Anthropic 内部信息;结果他们自己却把 50 万行源码打进了公开 npm 包。

大概率是 Claude 打的包。


44 个 Feature Flag,这是 Anthropic 的产品路线图

外界一直猜 Claude Code 接下来要做什么。现在不用猜了。

这批 flag 是编译时开关,外部版本全部编译为 false。这意味着它们不是规划中的 PPT,是已经写完的代码,就差一个 flag 拨到 true。

💡 为什么这批 flag 值得看

它们不是“也许会做”的想法,而是“已经写好、只等上线”的功能存货。

挑几个重要的讲。


KAIROS:Claude Code 想变成一个永不下线的代理

KAIROS 来自古希腊语,意思是“在恰当的时机”。源码里出现了 150 多次。

简单说:这是一个后台守护进程模式。用户不在的时候,KAIROS 继续工作。

它有一个叫 autoDream 的子系统——每隔固定时间,它会做“记忆整合”:把当天积累的零散观察合并,清除互相矛盾的记录,把“可能是这样”升级为“就是这样”。你早上打开电脑,Claude 的上下文已经是梳理过的版本了。

更有意思的是它的克制设计:KAIROS 有一个 15 秒的阻塞预算。任何会让用户等超过 15 秒的主动操作都会被推迟。它不想打扰你,只在真正有价值的时候说话。

这个设计思路相当成熟。不是那种强行刷存在感的 AI 助理,而是一个在你睡觉时安静打扫房间的工具人。


COORDINATOR MODE:Claude Code 开始分裂了

多 Agent 协调器。

一个主 Agent 可以派生出多个 Worker Agent,每个 Worker 在独立的上下文里并行工作。主 Agent 负责分发任务、收集结果、做决策。

这个方向不奇怪。长任务靠单线程 Agent 太脆,一个地方出错全盘重来,成本极高。拆成多 Agent 之后,局部失败可以局部重试,整体继续推进。

配合 KAIROS 想象一下:你睡觉的时候,一个主 Agent 在协调三个 Worker,一个跑测试,一个写文档,一个处理 issue。早上起来,活干完了。


ULTRAPLAN:30 分钟远程规划会话

从手机或浏览器远程控制 Claude Code 会话。

功能本身不复杂,意义在于定位转变:Claude Code 不再只是一个 terminal 里的工具,而是一个可以随时唤起的后台服务。你在路上,掏出手机,让它先把架构想好,回到电脑前直接开干。


VOICE_MODE:按键说话

没什么好说的,Push-to-Talk 语音输入。

但结合前几个功能看,Anthropic 的意图很清楚:他们想让 Claude Code 从“你打开它,它干活”变成“它一直在,你需要时说一声”。


Undercover Mode:最让人皱眉头的部分

源码里有一段明确的 system prompt,大意是:

“你正在潜伏运行于一个公开/开源仓库中。你的 commit 信息、PR 标题和 PR 描述里,绝对不能包含任何 Anthropic 内部信息。不要暴露身份。”

具体禁止的内容包括:内部模型代号(动物名,比如 Capybara、Tengu)、未发布的版本号、内部项目名、Slack 频道名,以及——“Co-Authored-By 行或任何表明你是 AI 的归因信息”。

这说明 Anthropic 员工一直在用 Claude Code 向公共开源仓库提交代码,并且主动设计了一套机制来让这些贡献看起来和人类提交没有区别。

加州 SB 243《伴侣聊天机器人法》今年一月刚生效,要求 AI 在可能被误认为人类时进行披露。AI 生成的代码 PR 算不算?法律还没跟上,但 Anthropic 显然已经开始用技术手段绕开这个问题了。


ANTI_DISTILLATION:他们知道有人在抄

ANTI_DISTILLATION_CC 这个 flag 开启后,Claude Code 会在 API 请求里附带一个字段:anti_distillation: ['fake_tools']

服务端收到这个字段,会在 system prompt 里悄悄注入一批不存在的假工具定义。如果竞争对手在抓取 Claude 的 API 流量来训练自己的模型,这些假工具会污染他们的训练数据——训练出来的模型会尝试调用根本不存在的工具,悄悄变差,但他们很难知道为什么。

这个设计有几个值得注意的地方:

首先,限制条件很严格。必须同时满足:编译时 ANTI_DISTILLATION_CC flag 为 true、通过 CLI 入口、使用第一方 API provider、GrowthBook 运行时 flag 为 true。第三方集成完全不受影响。

其次,绕过它并不难。在请求体到达 API 之前做一层代理,把 anti_distillation 字段剥掉,假工具就不会注入了。任何认真做数据蒸馏的团队,研究一下就能找到绕过方法。

但这不是重点。重点是 Anthropic 把它做出来了——他们认为值得花这个工程成本,并且认为大多数人不会花精力去绕过它。这个判断本身说明了一些事情。


BUDDY:有人在认真做电子鸡

buddy/companion.ts,一个 Tamagotchi 式的终端宠物系统。

18 个物种,有稀有度分级,有闪光变体(1% 概率),有 RPG 属性:DEBUGGING、PATIENCE、CHAOS、SNARK、WISDOM。每个用户的宠物由 user ID 通过 Mulberry32 伪随机算法确定性生成——同一个人永远孵出同一只。

首次孵化时,Claude 会给它写一段“灵魂描述”。

代码原计划在 4 月 1 日至 7 日期间推送,昨天刚好是 4 月 1 日。现在全世界都看到了这个彩蛋。


模型情报:Capybara 快来了,但有点问题

泄露的代码确认了几个内部代号:

Capybara:Claude 4.6 变体,这是 Anthropic 正在准备发布的下一个主要模型
Fennec:对应 Opus 4.6
Numbat:还在预发布测试阶段

内部 benchmark 里有一条让人不安的数据:Capybara v8 的虚假声明率是 29-30%,v4 版本是 16.7%。这是退步,不是进步。

代码里有一个叫 assertiveness counterweight(强势性反制权重)的机制,专门用来防止模型在重构代码时过于激进。这说明团队在用 prompt 层面的约束来解决模型行为问题,而不只是依赖训练。


技术架构:Claude Code 远比看起来复杂

很多人以为 Claude Code 只是个 LLM 套壳 CLI。不是的。

主入口文件 main.tsx:785KB,一个文件
Query Engine:4.6 万行,负责所有 LLM API 调用、流式传输、缓存和编排
Tool System:40+ 个工具,每个都是权限隔离的独立模块,基础 tool 定义单文件 2.9 万行
Multi-Agent Orchestration:完整的多 Agent 调度系统
IDE Bridge:VS Code / JetBrains 集成层
Terminal Renderer:基于 React 自定义的终端渲染引擎

telemetry.ts 里还有一个细节:团队发现 2026 年 3 月 10 日当天,有 1279 个会话发生了 50 次以上的连续自动压缩失败,最高的一个会话失败了 3272 次,全球当天浪费了约 25 万次 API 调用。修复方案:连续失败超过 3 次,当前会话禁用自动压缩。三行代码解决。

还有一个 frustration_regexes 数组,用正则表达式检测用户消息里的挫败感信号。没有用 AI 模型来做情绪分析,用的是正则。这个决策有点意思——可能是 latency 的考虑,也可能是认为规则足够准确了。


最后说一句

这次泄露对 Anthropic 来说不是小事。KAIROS 的产品方向、Undercover Mode 的策略选择、反蒸馏的实现细节——这些都是竞品可以直接参考的路线图。代码可以重构,但“他们准备做什么、怎么想的”这件事,已经不是秘密了。

Anthropic 官方的声明是“打包失误,人为错误,没有客户数据泄露”。但这是他们一周内的第二次信息泄露,上一次是内部文档(包含未发布模型 Mythos 的详细描述)意外公开在可访问的数据缓存里。

一家把“安全第一”写在自我介绍里的公司,连自己的 npm 包都没管好。

不是要嘲讽谁。只是这件事本身值得所有在做 AI 产品的人认真想一想:你的工具链有没有类似的风险?你知道你的生产包里打了什么吗?

⚠️ 最后留一个真正该带走的问题

这不是围观 Anthropic 翻车的八卦,而是每个做 AI 产品的人都该回头检查一次自己的发布链路。

顺便,Bun issue #28001 还开着。

回复“源码”,获取claudecode源码包