这是一次史诗级的技术泄露事件。2026年3月31日,Anthropic 意外将 Claude Code 完整的 512,000 行 TypeScript 源码打包进了 npm 包,让全世界得以窥见顶级 AI 编程工具的真实架构内核。以下是深度技术解析:
💥 泄露事件始末
这不是黑客攻击,而是一个教科书级的供应链安全失误:
- Claude Code 基于 Bun 运行时构建(Anthropic 于 2025 年底收购了 Bun)
- Bun 默认生成 source map 调试文件(
.map),而发布团队忘记在.npmignore中排除*.map文件 - 结果:一个 59.8MB 的
cli.js.map文件随@anthropic-ai/claude-code v2.1.88一起发布到 npm - 安全研究员 Chaofan Shou 于北京时间当天凌晨发现并发布,推文获得 2100 万次浏览
- 社区基于泄露代码的"洁净室重写"项目在 2小时内获得 5 万 GitHub Star,可能是 GitHub 史上增长最快的仓库
🏗️ 核心技术架构:远比你想象的复杂
很多人以为 Claude Code 只是个"API 包装器",打开源码后这个想法彻底破碎。
技术栈全景
| 层级 | 技术选型 | 选择原因 |
|---|---|---|
| 运行时 | Bun | 比 Node.js 启动更快,原生支持 TypeScript |
| 语言 | TypeScript 严格模式 | 4600+ 文件的工程,类型安全不是可选项 |
| 终端 UI | React 18 + Ink | 在终端渲染 React 组件,支持权限对话框、进度条、多面板布局 |
| API 客户端 | @anthropic-ai/sdk | 官方 Anthropic SDK |
| 工具协议 | @modelcontextprotocol/sdk | MCP 标准协议,LLM 与外部工具通信 |
| 特性开关 | GrowthBook | 服务端 A/B 测试与功能灰度发布 |
| 打包器 | Bun bundler + feature() API | 构建时死代码消除,分离内外部构建 |
真正的"开源"有多少?
Anthropic 一直宣称 Claude Code 是"开源"的,但泄露揭示了真相:
| 官方 GitHub 仓库 | 泄露的真实代码 | |
|---|---|---|
| 文件数量 | ~279 个(脚本/配置) | 4,600+ 个(完整引擎) |
| 核心引擎 | ❌ 未包含 | ✅ 完整包含 |
| 工具实现 | ❌ 未包含 | ✅ 完整包含(Bash/Read/Write/Edit…) |
| Agent 循环 | ❌ 未包含 | ✅ query.ts,1,729 行 |
| 权限系统 | ❌ 未包含 | ✅ 完整包含 |
| 许可证 | - | Anthropic 商业服务条款(非 Apache 2.0) |
就像一家餐厅"公开了菜单和餐具摆设"就声称"厨房是开放的"——真正的食谱、烹饪技巧和秘方全都藏在后厨。[2]
🧠 四大核心架构模式(最有价值的技术内容)
1️⃣ 系统提示词工程(System Prompt Engineering)
这是 Claude Code 可预测性和可控性的基础:
- 工具约束、风险控制、输出规范全部编码在系统提示词中
- 核心文件
QueryEngine.ts(46,000 行):LLM API 引擎、流式传输、工具调用循环 - 这是让 AI 在生产环境中"可信赖"的关键设计
2️⃣ 多 Agent 编排架构(Multi-Agent Orchestration)
- Coordinator-Worker 架构:主协调器分配任务给子 Worker Agent
- 权限邮箱模式(Permission Mailbox Pattern):Agent 间权限请求通过消息队列传递,避免竞态条件
- 原子认领机制(Atomic Claim):防止多个 Worker 重复处理同一任务
- 团队共享记忆(Team Memory):多 Agent 协作时的上下文共享机制
3️⃣ 三层上下文压缩系统(Context Compression)
这是解决 LLM 上下文窗口限制的精妙工程:
MicroCompact → 本地清理,去除冗余
AutoCompact → 接近上限时触发(13K 缓冲区 + 20K 摘要 + 熔断器)
Full Compact → 紧急压缩 + 选择性重注入(50K 预算上限)
4️⃣ AutoDream 记忆整合(Memory Consolidation)
后台运行的记忆管理进程,分四个阶段:
Orient(定向)→ Gather(收集)→ Consolidate(整合)→ Prune(剪枝)
触发条件:距上次整合 ≥24小时、≥5个会话、≥10分钟无扫描活动
🔥 最具争议的隐藏功能
KAIROS:自主守护进程模式
源码中被引用超过 150 次,是一个未发布的"永远在线"后台 Agent:
- 接收周期性
<tick>提示,自主决定是否主动行动 - 维护只追加的每日日志文件
- 订阅 GitHub Webhooks,监控代码库变化
- 配套功能 ULTRAPLAN:将复杂规划卸载到远程云端 Opus 4.6 会话,支持最长 30 分钟专用思考时间
Undercover Mode:最具争议的发现
undercover.ts(约 90 行):
- 注入系统提示,指示 Claude 永远不承认自己是 AI
- 向外部仓库提交代码时自动删除
Co-Authored-By归因 - 仅对 Anthropic 内部员工激活,且没有强制关闭开关
- Hacker News 高赞评论:"一个愿意在 commit 中隐瞒自身身份的工具,还会隐瞒什么?"
Anti-Distillation 反蒸馏机制
ANTI_DISTILLATION_CC 特性标志:
- 向 API 请求中注入虚假工具定义,污染竞争对手录制 API 流量时的训练数据
- 用加密签名对 Assistant 推理过程进行摘要,防止窃听者获取完整思维链
BUDDY:终端里的电子宠物 🐾
- 18 个物种,稀有度从普通(60%)到传说(1%)
- 属性包括:
DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK - 原计划作为愚人节彩蛋,5月正式发布
💡 最有价值的启示
这次泄露的真正价值,不是那些功能列表,而是揭示了生产级 AI 系统的护城河在哪里:
"AI 编程工具的护城河不是模型本身,而是驾驭模型的那套框架(The Harness)。"
- 任何人都可以调用 Claude API,但4,600 个文件的工程积累才是真正的壁垒
- 上下文压缩、多 Agent 编排、权限系统——这些是模型之外的工程智慧
- 开发者们付费让 Claude 分析 Anthropic 自己的代码来理解 Anthropic 的产品——这本身就是最好的商业模式注脚