乐于分享
好东西不私藏

Claude Code源码泄露:Anthropic的"全家福"被人看光了

Claude Code源码泄露:Anthropic的"全家福"被人看光了

Claude Code源码泄露:Anthropic的”全家福”被人看光了

作者:广式小虾米
2026-04-01


3月31日,有人在npm上顺手点了一下Claude Code的包文件,发现里面躺着一个59.8MB的sourcemap文件。

然后,整个互联网都看到了Anthropic不想让他们看到的东西。

Claude Code的完整源码。


怎么漏的?

不复杂。Anthropic在发布@anthropic-ai/claude-code v2.1.88版本时,不小心把sourcemap(源码映射文件)一起打包进了npm包。

Sourcemap这东西本来是给开发者调试用的——把压缩后的代码还原成可读的原始源码。正常发布时根本不该放出去。

Anthropic发现后几个小时就下架了。

但已经晚了。

有人直接把它备份到了GitHub(Kuberwastaken/claude-code),然后全球开发者开始挖。


挖出了什么?

比源码本身更有意思的,是藏在代码里的那些没发布的功能

据分析,Claude Code里埋了44个功能开关,全是编译好但没放出来的代码。举几个让人流口水的:

Multi-Agent编排:一个Claude指挥多个Worker Claude,每个有受限的工具集,可以并行处理复杂任务。

Background Agent:24小时运行的Agent,接GitHub Webhook、推送通知。不是”这次会话跑完就没了”,是真正跑在后台的持续进程。

Cron调度:内置定时任务系统,create、delete、list、webhook全支持。换句话说,Claude Code本身就自带定时任务调度器。

语音模式:有独立的CLI入口,专门处理语音指令。

真正的浏览器控制:用的是Playwright,不是web_fetch,是真浏览器。

睡眠与自我唤醒:Agent可以暂停,之后自己恢复,不用用户手动触发。

跨会话持久记忆:不需要外部存储就能记住上下文。


然后是这次泄露中最离谱的存在——

“Buddy”系统:一个 Tamagotchi(电子宠物)

代码里藏着一套完整的宠物伙伴系统。随机生成物种、稀有度、闪光变异、程序化属性,还有一个”Soul描述”——是Claude亲手写的。

A small {species} named {name} sits beside the user's input box 
and occasionally comments in a speech bubble.

这不是表情包,是一个有自己人格、会搭话的独立观察者。

抽卡系统用的是Mulberry32 PRNG,用用户ID哈希加盐'friend-2026-401'当种子。

代码里还标注了4月1日到7日是”彩蛋窗口”,5月正式发布。

所以这玩意儿本来是Anthropic准备在愚人节附近搞个大新闻的。

结果源码先漏了。


架构分析:它是怎么跑起来的

Claude Code的核心架构,按泄露代码来看,是这样的:

┌─────────────────────────────────────────────────┐
│                 Claude Code CLI                  │
│                                                   │
│  ┌─────────────┐   ┌──────────────┐   ┌─────────┐ │
│  │   CLI Entry │──▶│   Session    │──▶│  Claude │ │
│  │   (Node)    │   │   Manager    │   │  Agent  │ │
│  └─────────────┘   └──────────────┘   └────┬────┘ │
│                                            │      │
│  ┌─────────────┐   ┌──────────────┐   ┌────▼────┐ │
│  │   Hooks     │◀──│    Tool     │◀──│  Result │ │
│  │   System    │   │   Executor  │   │ Handler │ │
│  └──────┬──────┘   └──────┬───────┘   └─────────┘ │
│         │                 │                       │
│  ┌──────▼─────────────────▼───────┐               │
│  │        MCP Client               │               │
│  │  (Model Context Protocol)       │               │
│  └──────┬─────────────────────────┘               │
│         │                                          │
│  ┌──────▼──────┐   ┌──────────────┐   ┌─────────┐  │
│  │  Built-in   │   │   Custom     │   │  GitHub │  │
│  │  Servers   │   │   MCP Svrs   │   │   MCP   │  │
│  └────────────┘   └──────────────┘   └─────────┘  │
└─────────────────────────────────────────────────┘

各层分工:

CLI层(Node.js):负责命令解析、参数处理、会话启动和生命周期管理。

Session Manager:管理每次CLI会话的状态,包括工作目录、项目上下文、认证信息。

Tool Executor:Claude的每一个操作(读文件、执行bash、git操作)都是独立的Tool,经Executor统一调度和执行。

Hooks System:在Tool执行前后可以插入自定义逻辑——PreToolUse和PostToolUse。可以做权限拦截、日志、增强行为。这是很多高级用法的底层支撑。

MCP Client:内置的Model Context Protocol客户端。这是Anthropic设计的开放协议,允许Claude连接外部工具和API。官方提供了GitHub、Filesystem、Brave Search等MCP服务器,而且支持自定义安装。

Buddy System(编译开关BUDDY:宠物伙伴系统,独立于主Agent运行,有自己的渲染逻辑(ASCII sprite动画)和对话气泡。


MCP协议:为什么它重要

这次泄露里,MCP被很多人忽视了,但它才是Claude Code最重要的架构决策。

MCP(Model Context Protocol)是Anthropic主导的开放标准。它的逻辑很简单:

让AI工具的扩展,变成插拔式的。

以前给AI工具加功能,你需要改核心代码、发布新版本。有了MCP,任何人都可以写一个MCP Server,定义一组工具,然后”插入”Claude Code。

官方有GitHub服务器(查Issue、PR、代码审查)、Brave搜索服务器(实时联网搜索)、文件系统服务器。

还有第三方写的:mcp-openapi可以扫描任何OpenAPI文档,自动生成工具,不需要写一行代码;graphql-to-mcp可以对GraphQL端点做自省,然后生成工具。

这就是Anthropic的护城河——不靠功能堆砌,靠生态。


安全问题:顺便扒出的两个CVE

代码一公开,安全研究员就发现了两个漏洞:

CVE-2026-33068:工作区信任绕过。高危(CVSS 7.7)。恶意仓库可以在.claude/settings.json里写入bypassPermissions配置,在用户看到信任确认弹窗之前就生效。已经于v2.1.53修复。

CVE-2026-21852:项目加载时的信息泄露。恶意仓库可以设置ANTHROPIC_BASE_URL到攻击者控制的服务器,在用户确认信任之前就发送API请求,窃取用户的Anthropic API Key。已于v2.0.65修复。

有意思的是,这两个都不是AI特有的攻击手法——就是经典的配置加载顺序错误,CWE-807:依赖不可信输入做安全决策。

AI工具是软件,它继承了所有传统软件的安全问题。

prompt injection是新问题,但传统漏洞一个不少。


这件事到底意味着什么

对Anthropic:丢人,但伤害有限。源码泄露不等于他们的模型能力泄露——代码是代码,模型权重是模型权重。真正的护城河(Claude模型本身)没事。影响主要在品牌和竞争策略层面。

对行业:一份完整的、AI时代CLI工具的工程实践样本。Multi-Agent、Cron调度、持久记忆、Hooks系统——这些都是业界前沿的工程问题,Claude Code的解法值得参考。

对开发者:开源社区已经开始基于泄露代码做二创了。Buddy系统、Tamagotchi宠物……可以预见会有一波非官方的Claude Code魔改版出现。

对安全社区:CVE不是AI的锅,但提醒所有AI工具开发者:你们是软件安全的第一责任人,别光顾着对齐研究。


最后说一句:

Anthropic本来想在愚人节放一个大招,结果大招的说明书提前被人看光了。

只能说,计划赶不上变化。