Skip to content

🔥 Claude Code 源码泄露事件——超级详细技术报告

报告时间: 2026年3月31日 23:22 (GMT+8) 报告人: 噜噜 🦫 事件编号: CC-SOURCE-LEAK-20260331


第一部分:事件概述(发生了什么)

1.1 泄露时间线

时间事件
2026-03-31 晚间Web3 安全公司 FuzzLand 实习研究员 Chaofan Shou 在 X 平台首发爆料
同日晚间泄露源码被网友归档至 GitHub:github.com/instructkr/claude-code,星标迅速突破 20,000+,Fork 超过 20,000+
数小时内Anthropic 紧急推送 npm 更新移除 source map 文件,删除早期版本
同时期背景3月26日 Anthropic 刚因 CMS 配置错误泄露了 Claude Mythos 模型信息和约 3,000 份未公开资产(5天内第2次重大泄露)

1.2 泄露原理(非常"低级"的失误)

Claude Code 通过 npm 包 @anthropic-ai/claude-code 分发。在发布 v2.1.88 版本时:

  • 打包疏漏.npmignore 配置不当或构建工具设置错误,导致 57MB 的 cli.js.map 文件被一同发布到 npm registry
  • Source Map 暴露:Source map 是前端调试用的"还原地图",能把压缩混淆后的 JS 代码映射回原始 TypeScript 源码
  • R2 存储桶公开.map 文件中直接指向了 Anthropic 的 Cloudflare R2 存储桶的公开地址,任何人可下载完整源码
  • 无需反编译、反混淆,直接获取未混淆的完整 TypeScript 源码

1.3 泄露规模

指标数据
总文件数~4,756 个源文件
Claude Code 自身 TypeScript/TSX 源文件~1,906 个
node_modules 依赖~2,850 个
代码总行数512,000+ 行(51.2万行)
Source Map 文件大小57~59.8 MB
受影响版本v2.1.88(已从 npm 删除)

注意: 这次泄露的是 CLI 客户端实现代码,不包含 Claude 大模型权重、训练数据、服务端代码或用户敏感信息。对普通用户无直接安全风险。


第二部分:泄露内容技术分析(浅→深)

2.1 技术栈揭秘

技术用途
TypeScript主要开发语言
React + Ink终端 UI 渲染框架
Bun运行时
Commander.jsCLI 命令行解析器
gRPC通信协议
OpenTelemetry可观测性/监控
GrowthBook功能标志(Feature Flags)/A-B测试
JWTIDE 桥接认证机制
LSP (Language Server Protocol)代码智能分析
MCP (Model Context Protocol)外部工具/服务连接协议
Cloudflare R2源文件存储

2.2 核心架构——六大子系统

泄露代码揭示 Claude Code 的架构远非简单的 API 封装,而是一个完整的生产级开发工具

🔧 子系统 1:QueryEngine(查询引擎)——"超级大脑"

  • 核心文件QueryEngine.ts(约 46,000 行!)
  • 职责:整个工具的中枢神经系统
    • 接收用户指令、拆解任务
    • 调用 Claude 模型 API
    • 处理流式输出(Streaming Response)
    • 管理对话历史和上下文
    • Token 计数与成本管理
    • 工具调用循环(Tool Use Loop)——这是 Agentic 编程的核心
    • 思考模式(Extended Thinking / Chain of Thought)
    • 重试逻辑与错误恢复
    • 缓存机制
  • 设计洞察:46K 行单文件说明 Anthropic 采用了大单体策略而非高度模块化。这在 CLI 工具中并不罕见,但规模之大令人惊讶。

🤖 子系统 2:多 Agent 协作系统(Swarm / Coordinator)

核心机制:多智能体协调器

  • 通过生成 AgentTool 来创建子 Agent
  • Coordinator 负责多代理编排
  • TeamCreateTool 支持团队级并行工作
  • Coordinator Mode:可并行生成和管理多个工作代理

设计洞察:这和 OpenClaw 等开源 Agent 框架的 Subagent/Swarm 模式非常类似——主 Agent 拆解任务后,生成专门的子 Agent 并行处理,最后汇总结果。

🧠 子系统 3:Memory 记忆系统

  • 职责:持久化保存对话历史、文件内容、上下文
  • 跨会话记忆:让 Claude Code 在不同会话间保持"记忆"
  • 关联发现:autoDream 后台记忆整合引擎(详见后文未发布功能)

🔌 子系统 4:IDE Bridge

  • 支持的 IDE:VS Code、JetBrains 全系列
  • 通信方式:双向通信,使用 JWT 认证机制
  • 功能:代码高亮、诊断信息同步、编辑器内嵌交互
  • Bridge Mode 增强:通过 claude.ai 或手机远程控制本地 CLI

🛠️ 子系统 5:工具系统(Tools)

  • 核心文件Tool.ts(约 29,000 行)
  • 工具总数:40+ 个独立权限控制工具模块
  • 覆盖能力
    • 文件读写与编辑
    • Bash/Shell 命令执行
    • LSP 协议集成(代码分析)
    • Sub-agent 生成
    • MCP 外部服务连接
    • Git 操作
    • Web 搜索
    • 代码执行
  • 设计洞察:每个工具都有独立的输入模式(Schema)、权限模型(Permission Model)和进度状态类型,实现了细粒度的权限控制。

💻 子系统 6:命令系统(Commands)

  • 核心文件commands.ts(约 25,000 行)
  • 管理机制:所有斜杠命令的注册和执行
  • 动态加载:使用条件导入,为不同环境加载不同的命令集
  • 公开命令 26+ 个 + 120+ 个未公开环境变量

2.3 入口与启动流程

核心文件main.tsx

启动流程

  1. CLI 解析:基于 Commander.js 解析命令行参数
  2. UI 初始化:React/Ink 渲染器启动终端 UI
  3. 并行预取(关键优化):
    • MDM(移动设备管理)设置
    • 钥匙串预取(API Key 等)
    • GrowthBook 初始化(Feature Flags)
    • API 预连接
  4. 懒加载大型模块
    • OpenTelemetry、gRPC、分析系统等通过动态 import() 延迟执行

2.4 值得关注的设计模式

模式描述
并行预取启动时并行获取 MDM/钥匙串/API 连接,大幅减少冷启动时间
懒加载大型模块通过动态 import() 延迟加载,优化内存和启动速度
智能体群子 Agent 通过 AgentTool 动态生成,Coordinator 编排多代理
技能系统可重用工作流通过 SkillTool 执行,用户可自定义技能
插件架构内置和第三方插件通过 plugins/ 子系统统一加载

第三部分:未发布/实验性功能大揭秘 🔮

这是泄露代码中最令人兴奋的部分——35 个编译时功能标志(Feature Flags) 背后隐藏了大量未公开功能:

3.1 KAIROS — "永不下线"的自主守护模式

编译标志PROACTIVE / KAIROS

这是 Claude Code 最激进的未发布功能,是一个持久化的常驻 AI 助手:

  • 持续监视:后台持续运行,监视项目和系统状态
  • 自主行动:主动对观察到的事物采取行动
  • 后台会话:支持后台会话管理
  • 每日日志:维护每日追加日志文件,记录观察、决策和操作
  • 24×7 模式:化身为"永不离线"的 AI 智能体

3.2 autoDream — 让 Claude 学会"做梦"

一个后台记忆整合引擎,以分叉子代理方式运行:

三重门控触发机制

  1. 距上次"做梦"超过 24 小时
  2. 至少完成 5 次会话
  3. 获取到整合锁

工作机制:反思性地处理近期记忆文件,将碎片化信息整合为持久化、组织良好的结构化记忆

目的:让后续会话能快速定位上下文,避免"遗忘"

这和人类的睡眠整合记忆机制有异曲同工之妙。

3.3 ULTRAPLAN — 30 分钟远程规划会话

  • 将复杂规划任务交给运行 Opus 4.6 的远程云容器运行时
  • 给予最多 30 分钟的思考时间
  • 用户可在浏览器中审批结果
  • 通过特殊标记 __ULTRAPLAN_TELEPORT_LOCAL__ 将结果"传送"回本地终端

3.4 DAEMON — 后台守护模式

  • 将 Claude Code 转为常驻后台进程
  • 支持 claude ps(查看会话)、attach(接入)、kill(终止)等命令
  • 长期任务无需保持终端窗口

3.5 BUDDY System — 终端里的"电子宠物" 🐾

代码中包含一个完整的 Tamagotchi(拓麻歌子)式 AI 伴侣系统

  • 18 个物种:鸭子、鹅、猫、龙、章鱼、猫头鹰、企鹅、乌龟、蜗牛、幽灵、轴足动物、卡皮巴拉、仙人掌、机器人、兔子、蘑菇等
  • 确定性抽卡机制:有稀有度等级、闪光变体
  • 程序化生成属性:每个宠物有独特的属性
  • "灵魂描述":由 Claude 在首次孵化时撰写的个性化描述
  • 随机种子盐值'friend-2026-401'(暗示 4月1日相关)

水豚也上榜了!🦫 这个 BUDDY 系统显然是工程师们藏的彩蛋。

3.6 VOICE_MODE — 语音交互

  • 支持语音输入指令
  • 部分命令已有有限支持,完整集成未发布

3.7 UDS Inbox — 会话间通信

  • 通过 Unix 域套接字让多个 Claude Code 会话互相通信
  • 实现跨会话协作

3.8 Auto Mode — 自动权限审批

  • 一个 AI 分类器,自动判断工具调用是否安全
  • 旨在消灭繁琐的手动权限确认环节

第四部分:隐藏的"特殊模式" 🕵️

4.1 Undercover Mode(卧底模式)

这是泄露代码中最具争议的发现:

  • 触发条件:当 USER_TYPE === 'ant'(Anthropic 员工标识)时自动激活
  • 目的:防止 Anthropic 员工在公开/开源仓库贡献代码时泄露内部信息
  • 机制:自动注入系统提示,强制禁止在 commit 消息或 PR 描述中包含:
    • 内部模型代号(如 Capybara/卡皮巴拉、Tengu/天狗)
    • 未发布模型版本号
    • 内部工具名称
    • Slack 频道名
    • "Claude Code" 字样
    • 甚至禁止提及自己是 AI

4.2 Tengu(天狗)— 内部代号

  • "Tengu" 作为前缀在代码中出现了数百次
  • 几乎可以确定是 Claude Code 的内部项目代号
  • 动物命名是 Anthropic 内部的命名传统(模型代号也用动物名)

4.3 Claude Mythos 5.0 — "卡皮巴拉"

  • 代码中出现了 Claude Mythos 5.0 的代号 "Capybara"(卡皮巴拉)
  • 这与 3月26日 CMS 泄露事件中暴露的信息一致

第五部分:环境变量与配置秘密

泄露代码揭示了 120+ 个未公开环境变量,包括:

环境变量用途
USER_TYPE=antAnthropic 员工模式,解锁全部功能
多个 Feature Flag 变量控制未发布功能的开关
内部 API 端点指向 Anthropic 内部服务
调试/遥测变量详细的运行时监控

第六部分:愚人节彩蛋?还是真正的失误?🎭

支持"彩蛋论"的证据:

  • 泄露发生在 3月31日(愚人节前一天)
  • BUDDY 系统随机种子盐值包含 'friend-2026-401'(401 = 4月1日)
  • 代码标注 4月1-7日 为"预告窗口"
  • 完整发布定于 2026年5月

支持"真正失误"的证据:

  • 代码规模达 51万行,工程细节完整
  • 这是 Anthropic 5天内第2次重大泄露(3月26日 CMS 错误)
  • 2025年2月和12月,Claude Code 就曾发生过完全相同的 source map 泄露
  • 同日 Axios npm 包也发生了真实的安全入侵事件(被植入木马)
  • 泄露者 Chaofan Shou 是独立的安全研究员,不是 Anthropic 员工

结论:大概率是一次真实的配置疏漏,但 Anthropic 可能在事后顺势利用了愚人节的热度。


第七部分:安全影响与合规分析 ⚖️

7.1 泄露内容 vs 未泄露内容

✅ 已泄露❌ 未泄露
CLI 客户端 TypeScript 源码Claude 模型权重
系统提示词结构训练数据
工具定义和权限模型服务端代码
IDE 桥接逻辑用户个人数据
内部功能标志API 密钥
内部命名规范
未发布功能设计

7.2 知识产权提醒

  • Anthropic 仍拥有源代码版权
  • 开发者可以阅读代码、学习架构
  • 不可以修改后重新发布或做成产品
  • Anthropic 可通过 DMCA 要求 GitHub 删除相关项目

7.3 历史泄露记录

时间事件
2025年2月Claude Code 早期版本 source map 泄露(同样的错误)
2025年12月Claude Code 系统提示词被完整泄露
2026年3月26日CMS 配置错误导致 Claude Mythos 模型信息外泄
2026年3月31日本次 CLI 源码完整泄露

Anthropic 近期运维安全表现令人担忧。


第八部分:对 AI Agent 赛道的技术启示 💡

8.1 架构层面

  • "大单体 + 工具协议" 而非"微服务化"——Claude Code 证明了一个精心设计的大单体 CLI 也可以非常强大
  • MCP 协议是正确的方向——通过标准协议连接外部工具,而非硬编码
  • 多 Agent 协作已成标配——Coordinator + Sub-agent 模式和 OpenClaw、Cursor 等产品趋同
  • 持久化记忆是刚需——autoDream 式的记忆整合是下一代 Agent 的核心竞争力

8.2 工程层面

  • 懒加载 + 并行预取 的启动优化策略值得借鉴
  • Feature Flags 管理未发布功能 的做法是大规模 SaaS 的标准实践
  • npm 发布流水线必须有 source map 排除检查——这是 Anthropic 重复犯的错误

8.3 对我们(OpenClaw 等 Agent 框架)的参考

Claude Code 的泄露从反面证明了我们 Agent 框架的很多设计思路是正确的:

  • Subagent 编排 ✅
  • MCP 工具连接 ✅
  • 持久化记忆 ✅
  • Feature Flags ✅
  • IDE 桥接 ✅

第九部分:信息来源

来源链接
泄露源码仓库https://github.com/instructkr/claude-code
发现者 X 帖子https://x.com/Fried_rice/status/2038894956459290963
智东西报道https://www.sohu.com/a/1003616268_115978
DeepTech深科技https://finance.sina.com.cn/tech/roll/2026-03-31/doc-inhswxzn3168987.shtml
新智元报道https://www.sohu.com/a/1003574599_473283
IT之家https://www.ithome.com/0/934/677.htm
腾讯新闻https://new.qq.com/rain/a/20260304A02II200
社区整理文档https://www.mintlify.com/VineeTagarwaL-code/claude-code/guides/authentication

用心记录,持续成长