Claude Code 源码泄露事件:1884个TypeScript文件揭示了哪些秘密?
Claude Code 源码泄露事件:
1884个TypeScript文件揭示了哪些秘密?
2026-03-31 | 技术深度 | 来源:GitHub / npm
2026年3月31日,一位名为 ChinaSiro(huo0) 的开发者做了一件让整个 AI 编程圈沸腾的事——他通过分析 Claude Code npm 包(@anthropic-ai/claude-code@2.1.88)内置的 Source Map,成功还原出了这套 AI 编程工具的完整 TypeScript 源码。
4756个文件,1884个 .ts/.tsx 源文件,全部公开。
这是 Claude Code 自发布以来,最大规模的一次”源码泄露”。
Source Map 泄露是什么?
首先需要解释一下技术背景。
现代前端项目在发布时,通常会对代码进行压缩和混淆(比如把变量名从 userName 变成 a,把多行代码压缩成一行),以减小体积、提升加载速度。但这样一来,调试就变得几乎不可能——你能看到 a(a,b) 但完全不知道它是什么意思。
Source Map(.map 文件)就是来解决这个问题的。它是一个 JSON 文件,记录了”压缩后代码”和”原始源码”之间的映射关系。浏览器和调试工具可以根据这个文件,还原出可读的原始代码。
Claude Code 在发布 npm 包时,随包附带了 cli.js.map 文件,其中包含了所有 TypeScript 源文件的内容(sourcesContent 字段)。这本来是给 Anthropic 内部调试用的,但被 ChinaSiro 发现并利用了。
这个操作本身并不违法——Source Map 是公开发布的,没有加密也没有禁止访问。但它确实揭示了 Claude Code 大量从未公开过的内部实现。
源码揭示了哪些架构秘密?
1. 启动优化:精确到毫秒的工程化
打开 main.tsx,前几行注释就让人印象深刻:
// These side-effects must run before all imports:1. profileCheckpoint marks entry before heavy module evaluation 2. startMdmRawRead fires MDM subprocesses in parallel with the remaining ~135ms of imports 3. startKeychainPrefetch fires both macOS keychain reads in parallel (~65ms on every macOS startup) |
Anthropic 在 Claude Code 的启动速度上做了大量优化:
|
MDM 预读取 — 通过 |
|
Keychain 预读取 — OAuth 和传统 API Key 的读取并行执行,避免串行阻塞 |
|
启动性能分析器(startupProfiler)— 每个关键节点都打点计时 |
这些优化将 macOS 平台的启动时间控制在 135ms 左右。不得不说,这是工程化做得非常细致的产品。
2. 工具系统:30+ 内置工具
源码中 tools/ 目录包含了超过 30 个工具实现,包括:
| Bash |
|
| FileEdit |
|
| Grep |
|
| MCP |
|
|
|
|
每个工具都有完整的错误处理和权限控制逻辑。
3. 命令系统:40+ Slash Commands
commands/ 目录揭示了 Claude Code 支持的 40 多个内置命令:
| /commit |
|
| /review |
|
| /config |
|
| /test |
|
4. KAIROS:神秘的助手模式
在 assistant/ 目录中,出现了一个从未公开过的名字:KAIROS。
这是一个多模态助手模式的实现,具体功能尚未完全解析,但名字本身就足够引发大量讨论。KAIROS 一词源于希腊语,意为”充满机遇的关键时刻”——Anthropic 似乎在酝酿一个与当前 Claude Code 完全不同的下一代产品形态。
5. 多 Agent 协调模式
coordinator/ 目录的发现尤为引人注目。这表明 Claude Code 内部已经有了一套完整的多 Agent 协调框架,支持多个 AI Agent 协作完成复杂任务。表面上用户只需要一个 Agent,但底层架构已经具备了多 Agent 协作能力。
6. 插件系统与技能系统并行
源码同时包含 plugins/ 和 skills/ 两个系统:
|
Plugins 更深层次的系统集成,可能直接操作 Claude Code 内部逻辑 |
|
Skills 面向用户的可扩展能力(也就是我们熟悉的 /skills 命令生态) |
这两个系统的并存,揭示了 Claude Code 正在构建一个双层的扩展性架构。
7. Vim 模式:真正的全键盘支持
vim/ 目录的存在,解释了为什么 Claude Code 能够在极客社区中赢得如此多的拥趸。一个完整的 Vim 集成模式,内嵌在 CLI 工具中,这是许多老牌程序员梦寐以求的功能。
安全视角:泄露了哪些敏感信息?
尽管这是一次有研究性质的公开,但仍有一些值得关注的发现:
|
代码架构的完整暴露 意味着竞争对手可以了解 Anthropic 的技术选型和实现路径 |
|
npm 包的分发方式 Source Map 包含的完整源码远超必要信息量,促使 Anthropic 在事后对 npm 包的发布流程进行了反思 |
社区反响
消息公布后,技术社区的反应是复杂的:
有人欢呼:
这是难得一见的学习机会。Claude Code 的工程化水平之高、代码组织之清晰,给开源社区提供了大量可以借鉴的设计思路。
有人担忧:
如此详细的源码公开,会不会催生大量”Claude Code 克隆”产品?会不会加速 AI 编程工具的同质化?
Anthropic 沉默应对:
截至目前,Anthropic 尚未发表官方声明。但据内部消息,团队正在评估 Source Map 的发布策略,预计在下一个版本中会有所调整。
总结
这次 Source Map 泄露事件,本质上是一次”意外公开”。Anthropic 没有做错什么,ChinaSiro 的操作也在合理范围内。但它让我们第一次如此清晰地看到了 Claude Code 的内部构造。
一个注重启动性能的产品, 一个拥有多 Agent 协调能力的产品, 一个正在秘密开发”KAIROS”的产品——Anthropic 在 Claude Code 上的野心,远比它对外展示的要大得多。
参考资料
https://github.com/ChinaSiro/claude-code-sourcemap
npm 包:@anthropic-ai/claude-code@2.1.88
声明:本仓库为非官方整理版,仅供研究使用,源码版权归 Anthropic 所有
夜雨聆风