发生了什么
2026年3月31日,Claude Code的整个源码在npm上公开可下载。不是零日漏洞,不是心怀不满的员工,是.map文件——你打包工具生成的、用来调试堆栈跟踪的东西。
当Bun打包TypeScript项目时,默认生成sourcemap,包含sourcesContent字段,保存每个原始文件的所有源码:
{
"version": 3,
"sources": ["../src/main.tsx", "../src/tools/BashTool.ts"],
"sourcesContent": ["// literally everything"],
"mappings": "AAAA..."
}
Anthropic在Bun配置里忘了设置sourcemap: "none",或者忘了在.npmignore里排除*.map。npm publish运行时,.map文件一起发了上去。
讽刺的是:泄露的代码里有一个叫Undercover Mode的系统——它的全部目的就是防止Anthropic内部信息泄露进公共仓库。它向Claude的system prompt注入指令,告诉它永远不要透露内部代号、永远不要提及自己是AI、永远不要引用内部Slack频道。
防止泄露的代码,泄露了。
泄露了什么
所有系统提示词。Claude Code行为的每一个塑造指令、模块化提示词组装系统、缓存策略、动态vs静态边界标记。竞争对手现在精确知道Anthropic如何告诉Claude如何表现、它被告知拒绝什么、以及边界如何划定。
还有一个叫DANGEROUS_uncachedSystemPromptSection()的函数——光命名本身就说明有人用惨痛代价学会了缓存这课。
完整安全模型。整个权限和风险分类系统暴露。每一个工具动作被分类为LOW、MEDIUM或HIGH风险。受保护文件列表(.gitconfig、.bashrc、.zshrc)。路径遍历防护逻辑。YOLO分类器(真的叫这个名字)——通过ML自动批准或拒绝工具动作。
40+内部工具。完整工具注册表,从BashTool和FileEditTool到只有内部员工能用的TungstenTool和ConfigTool。每个工具的schema、每个权限边界、每个风险分类。
未发布功能路线图——这里开始战略层面真正痛苦的部分:
- KAIROS:主动助手模式,监视你的工作流并在不被询问时采取行动
- ULTRAPLAN:30分钟深度规划会话,卸载到运行Opus 4.6的远程云容器
- BUDDY:完整的电子宠物系统,带gacha机制、18种生物、闪光变种和程序生成性格
- Coordinator Mode:多Agent编排,Claude生成和管理并行worker agents
- Dream System:后台记忆整合引擎,Claude在后台组织它学到的东西
这些功能显然距离公开发布只有几个月。现在地球上每个竞争对手都有了详细的设计文档——以可工作的源码形式。
内部代号。"Tengu"是Claude Code的项目代号。"Fennec"是Opus的代号。"Chicago"是Computer Use。"Penguin Mode"是Fast Mode(API端点真的是/api/claude_code_penguin_mode)。全是动物名字。
具体员工名字。网络风险指令头里直接命名了负责安全边界决策的Anthropic员工。
战略损失:中高
功能路线图泄露是最大的战略打击。KAIROS、ULTRAPLAN、Coordinator Mode,这些不是增量改进。是可能定义下一代AI编程工具的功能。
现在每个竞争对手(Cursor、GitHub Copilot、Windsurf、Codeium)都有了Anthropic前进方向的详细蓝图。不只是知道Anthropic在建什么——是知道它是怎么建的。三重门触发系统用于Dream整合、KAIROS的15秒阻塞预算、协调器-Worker通信协议——这些是非显而易见的架构决策,可能花了数月迭代才走到正确方向。竞争对手现在可以完全跳过那部分迭代。
真正的问题是时间线。如果Anthropic计划在2026年Q2-Q3发布这些功能,竞争对手可能没有时间在正式发布前构建克隆。但如果时间线更长,比如2026年底——Anthropic为构建这些系统投入的先发优势就这样蒸发了。
还有投资者和合作伙伴信心的问题。Anthropic给自己定位是安全优先的公司。因忘了从npm排除一个文件而导致泄露,嗯,对于一个整体品牌是"我们是最谨慎的那个"的公司来说,这不是好形象。
安全风险:真实但有限
暴露的权限系统和风险分类令人担忧。但这是纵深防御地带。知道权限系统如何运作不意味着能绕过它——尤其是实际执行发生在Anthropic API的服务端。CLI代码处理客户端权限流,但API应该有它自己的验证层。
更微妙的风险是system prompt暴露。现在Claude Code安全指令的确切措辞是公开的,对抗性prompt工程变得更容易。人们可以专门制作输入来测试泄露prompt中描述的边界。这不会打破模型本身,但降低了找到边缘案例的门槛。
Claude Code的真正护城河没有泄露
- 模型本身——Claude的底层能力、训练数据和RLHF过程。没有泄露。
- API基础设施——处理上下文缓存、token预算和模型路由的服务端系统。不在CLI代码里。
- 迭代速度——Anthropic能多快地发布、学习和迭代。泄露的是快照,不是团队的速度。
- 用户信任和生态系统——Claude Code的市场地位、MCP集成和开发者心智份额。这些不在源码里。
竞争对手理论上可以克隆CLI架构,但没有等价模型在后面,就只是一个很差劲的AI外面的很精妙的架构封装。
接下来会怎样
Anthropic几乎肯定已经撤回了受影响的npm版本并重新发布不带sourcemap的版本。直接泄露已contain。
但源码已经存档在GitHub上、在X上讨论、被分析成博客文章(就像这一篇)。
现实的结果:
- 短期尴尬:"安全优先的AI公司"意外发布整个源码,是个meme级笑柄,互联网不会让他们忘记。
- 加速功能发布。Anthropic可能把KAIROS和BUDDY的时间线提前了。既然大家都知道这些了,为什么要继续藏在feature flag后面?
- 安全审计。期待Anthropic对其构建和发布管道进行彻底审查。这是触发整个工程组织流程变更的那种错误。
- 竞争对手灵感。更有思想的竞争对手不会试图克隆Claude Code。他们会研究架构模式——Dream整合、协调器-Worker编排、主动协助——然后构建自己的版本。想法已经出来了。
- 对市场地位无持久损害。Claude Code的受欢迎程度建立在Claude的模型质量和Anthropic的生态系统上,不是建立在专有的CLI架构上。用户不在乎内部工具注册表;他们在乎Claude是否写出好代码。这一点没有变。
这篇文章和之前yq/tvytlx/claw-code的系列是同一个事件的不同切面——yq读的是功能层,tvytlx读的是系统层,这篇读的是安全+战略层。三个加在一起才是完整图景。Undercover Mode的讽刺是年度最佳信息安全冷笑话:防止泄露的代码,泄露了。