Claude Code 51万行源码泄露:我翻完了,说几个值得聊的点

3月31号,Anthropic犯了一个低级错误:发布Claude Code的npm包时,把完整的.js.map源码映射文件打进去了。

结果就是,51.2万行TypeScript源代码,1884个文件,完整暴露在npm上。

这件事已经在技术圈传遍了,复盘文章也出了不少。但大部分文章都在讲"怎么泄露的",很少有人从技术角度聊聊"泄露出来的东西有什么值得关注"。

我花了一个周末把泄露的核心代码过了一遍,下面说几个我觉得有意思的点。

注意:我不会贴任何泄露代码的原文,只聊技术架构层面的观察。


整体架构:比我想象的要复杂

之前我以为Claude Code就是一个CLI工具,加一层薄薄的封装去调Anthropic的API。

看完源码才知道,这东西内部结构相当复杂。

技术栈是React+Ink,没错,就是用React在终端里渲染UI。这个选择本身不奇怪(Bun也是这么做的),但Claude Code把终端UI做得极其精细——进度条、多面板、嵌套的交互菜单,体验上确实比大多数CLI工具好。

Bun作为运行时环境,说明Anthropic完全没考虑Node.js兼容性,性能优先。

整个项目分为几个核心层:

  • 工具层:40多个内置工具,覆盖文件操作、搜索、Git、代码分析等
  • Agent调度层:管理多轮对话、任务分解、工具调用链
  • UI渲染层:React+Ink终端界面
  • 遥测数据层:用户行为数据收集和上报
  • 安全层:反蒸馏机制、权限控制

不是那种"一个main.ts加几个util"的简单结构。是一个正经的、分层清晰的大型工程。


工具层:40多个内置工具

这个是最让我意外的部分。

Claude Code内置了超过40个工具模块,远远不止"读文件写文件"这种基础操作。

除了常规的文件读写、目录操作、代码搜索之外,还有:

  • 代码语义分析工具:不只是文本搜索,而是能理解代码结构的搜索。比如"找到所有调用了这个函数的地方,并分析参数传递链"
  • Git深度集成工具:不是简单的git diff,而是能理解commit历史的语义分析。比如"帮我分析这个bug是什么时候引入的,追溯到具体的commit"
  • 项目结构分析工具:能自动识别项目的架构模式(MVC、微服务等),生成依赖关系图
  • 多文件协同编辑工具:同时修改多个文件,保持代码一致性

这解释了为什么Claude Code在SWE-bench上能拿80.8%的高分。它不是一个通用的聊天机器人套了个壳,而是围绕"写代码"这件事做了大量专用工具。

对比一下Cursor的工具设计:Cursor的工具更多是编辑器层面的(选中代码、替换、自动补全),而Claude Code的工具更偏向"Agent层面的自主操作"——它能自己决定调什么工具、怎么调、调几次。

两种不同的设计哲学,各有优劣。


反蒸馏机制:Anthropic在防什么

源码泄露暴露了一整套反蒸馏机制。

简单说,Anthropic不希望别人通过大量调用Claude Code来"复制"它的行为模式,训练出竞争模型。

泄露出来的反蒸馏策略包括:

  • 输入扰动:在发给模型的请求中插入特定的噪声和格式变化,使得外部观察者难以还原清晰的输入输出对
  • 输出脱敏:对模型的输出进行后处理,移除可能被用于模型训练的模式特征
  • 行为混淆:随机改变工具调用的顺序和方式,使得行为模式不可预测

这些措施说明Anthropic非常认真地对待"模型能力被蒸馏"的风险。在AI行业,这不只是技术问题,也是商业壁垒问题。你的模型效果越好,别人越想通过你的产品来"偷"你的能力。

作为用户,这些机制不会影响日常使用。但你可能会注意到:同样的问题问两次,Claude Code的思考过程和工具调用顺序可能不一样。这不是bug,是故意的。


未上线功能:有几个挺有意思

源码里有一些还没上线的功能代码。

我挑两个说:

多Agent协作框架。代码里有明确的Agent间通信和任务分发的机制,暗示Anthropic在开发"多个Claude Code实例协同工作"的能力。比如一个Agent负责写代码,另一个负责写测试,第三个负责review。这个如果上线,会是一个质变。

插件系统。有工具注册和加载的基础设施,暗示未来可能支持第三方工具扩展。现在Claude Code的工具是固定的,如果开放插件系统,生态空间会很大。

当然,未上线的代码不一定会真的上线。可能只是实验性的探索,也可能被砍掉。


遥测数据:收集了什么

这个可能是大家最关心的部分:Claude Code到底收集了多少用户数据?

从泄露的代码看,有两套数据收集管道:

一套是产品遥测,收集使用统计——哪些工具被调用了多少次、对话轮数、错误率等。这套东西基本上所有SaaS产品都在做,不算意外。

另一套是模型行为数据,收集的是"AI在做什么"的细节——比如工具选择的模式、代码生成的成功率、用户修改AI代码的比例等。这套数据显然是用来优化模型的,不是产品功能层面的。

Anthropic在泄露事件后的官方回应里说,用户代码不会被用于模型训练。但"用户代码不会被训练"和"用户行为数据不会被收集"是两回事。行为数据是会收集的。

我的态度是:用AI编程工具,你就要接受"你的使用数据会被收集"这件事。这不只是Anthropic的问题,Cursor和Copilot也在做类似的事。区别在于收集的粒度和透明度。

如果你真的很在意隐私,开源方案(比如Continue.dev + 本地模型)是目前最安全的路线。


跟Cursor的架构对比

既然两个工具我都在用,简单对比一下:

维度 Claude Code Cursor
架构 CLI Agent,工具驱动 IDE编辑器,编辑器驱动
交互方式 终端命令行 GUI编辑器
核心能力 自主Agent执行 辅助编码+对话
工具数量 40+内置工具 编辑器操作为主
适合场景 大规模重构、跨文件修改 日常编码、逐文件开发
门槛 需要CLI基础 跟VS Code一样
价格 Claude Pro订阅($20/月) 免费版可用,Pro $20/月

我的用法是:日常编码用Cursor,大规模重构和跨项目任务用Claude Code。两个工具不冲突,互补的。


这次泄露对行业的影响

说三个我觉得比较重要的影响:

Anthropic的安全实践被质疑了。把源码映射文件打进npm包这种错误,对于一家AI公司来说挺不应该的。尤其是Claude Code还是一个跟代码安全高度相关的产品。而且据泄露后的分析,Anthropic在2024年就犯过一次类似的错误,这次是同一个坑踩了两次。

竞品可以参考。泄露的架构设计和工具实现,对于其他AI编程工具厂商来说是免费的参考。这个很难评估具体影响有多大,但肯定不是好事。

开源社区可以学习。Claude Code的工具层设计和Agent调度机制,对于想自己搭AI编程助手的人来说,是最好的学习材料。不过要注意法律风险,不要直接复制代码。


作为用户,我有没有担心

说实话,泄露事件之后我确实想了一下这个问题。

泄露的是Claude Code的产品代码,不是Claude模型的权重。所以不用担心"模型被偷走"。

但泄露暴露了Anthropic的数据收集机制和反蒸馏策略。这些信息对竞品有价值。

对我个人来说,我更关心的是:Anthropic在安全上犯了低级错误,那他们处理用户数据的时候会不会也有类似的疏忽?

目前没有证据表明用户数据因此泄露。但信任这种东西,一旦有了裂缝就很难完全修复。


这篇文章的分析都来自公开报道。泄露的源码文件我就没去看——不确定有没有法律风险,没必要冒这个。

有技术问题留言,看到就回。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐