乐于分享
好东西不私藏

Claude Code源码泄露:最强编码AI栽在一个配置项上

本文最后更新于2026-03-31,某些文章具有时效性,若有错误或已失效,请在下方留言或联系老夜

Claude Code源码泄露:最强编码AI栽在一个配置项上

今天,整个开发者社区都在讨论同一件事:Anthropic把Claude Code的全部源码泄露了。

不是被黑客攻击,不是内部泄密,而是——发NPM包的时候忘了删source map文件

一个帮全世界程序员写代码的AI工具,自己在发布环节犯了最基础的配置错误。这件事本身,可能比泄露的代码更值得聊。

一、发生了什么

3月31日,安全研究员Chaofan Shou发现:Anthropic发布在NPM上的@anthropic-ai/claude-code包里,包含了一个source map文件(.map文件)。

Source map是什么?简单说,它是一张”地图”,能把压缩混淆后的代码还原成原始源码。它本来是给开发者自己调试用的,绝对不应该出现在发布到公网的包里

更离谱的是,这个.map文件直接指向了Anthropic自家R2云存储上的一个ZIP包,里面装着完整的、未混淆的TypeScript源码。任何人都能下载。

消息传开后几个小时内,代码就被人搬到了GitHub上,迅速积累了1100+星标和1900+次fork。Anthropic虽然紧急下架了受影响的NPM版本并删除了source map,但为时已晚——代码已经被完整镜像。

二、泄露了什么

这不是一个小项目。泄露的代码库包含:

规模:约1900个TypeScript文件,512,000+行代码
工具系统:约40个权限管控的内置工具,29,000行代码
查询引擎:46,000行代码,处理所有LLM API调用、流式传输和缓存
多Agent编排:子Agent(”swarms”)并行执行机制,每个有独立上下文和工具权限
IDE桥接:基于JWT认证的双向通信层,连接VS Code和JetBrains

换句话说,Claude Code从头到脚的架构都被看光了。包括它怎么管理权限、怎么调度多个AI Agent协作、怎么跟IDE通信、怎么做流式响应——这些都是Anthropic的核心工程能力。

三、彩蛋:未发布的隐藏功能

对开发者社区来说,代码里最有趣的不是已有功能,而是还没发布的东西

BUDDY——一个电子宠物。没看错,Anthropic在Claude Code里藏了一个类似”拓麻歌子”的AI宠物,就住在你终端输入框旁边的对话气泡里。

KAIROS——”永不下线的Claude”。这是一个持久化助手模式,可以跨会话工作、在本地存储记忆日志,甚至会在夜间进行”做梦”(自动整理和优化记忆),还能主动发起任务而不是被动等你输入。

KAIROS如果真的上线,意味着什么?

它不再是一个”你问我答”的工具,而是一个始终在后台运行的AI同事——它记得你之前所有的对话,知道你的项目上下文,甚至会在你不在的时候自己整理笔记。这已经非常接近”AI Agent”的终极形态了。

四、技术细节:怎么会犯这种错

这个错误的技术原因其实很简单:

Claude Code使用Bun作为打包工具。Bun的bundler默认会生成source map文件——除非你在配置里显式关掉它

正确的做法很明确:要么在.npmignore里排除*.map文件,要么在Bun的构建配置里关闭source map生成。这是任何前端/Node.js工程师都知道的常识操作。

但就是这么一个”常识操作”,整个Anthropic的工程团队都漏掉了。没有人在代码审查时发现这个问题,没有CI/CD流水线做检查,也没有发布前的安全扫描把它拦住。

五、真正值得思考的问题

有人会说:代码泄露了又怎样?又不是密钥泄露。Claude Code的核心竞争力在模型能力,不在客户端代码。

这话没错。但这件事的意义不在于泄露本身,而在于它暴露出的工程管理问题

第一,AI公司的工程成熟度跟不上产品野心。Anthropic是全球估值最高的AI创业公司之一,Claude Code是他们最重要的开发者产品。但发布流程中连最基本的”检查发布物里有没有不该有的文件”都没做到。这不是技术难度的问题,是工程纪律的问题。

第二,”帮别人写好代码”和”自己写好代码”是两回事。这大概是今年科技圈最讽刺的画面:一个专门教人写代码的AI工具,被一个构建配置的疏忽搞翻了。就像一个教人理财的博主自己破产了一样尴尬。

第三,开源 vs 闭源的边界越来越模糊。越来越多的商业软件通过NPM、PyPI这些公共包管理器分发。一旦发布流程出问题,你的闭源软件瞬间就变成”被迫开源”。这提醒所有通过包管理器分发产品的公司:你的发布流水线就是你的安全边界

六、源码里的一些有趣发现

抛开事故本身,Claude Code的源码确实透露了一些有意思的技术选型:

运行时用Bun而不是Node:追求更快的启动速度和更激进的死代码消除
终端UI用React + Ink:用组件化思维做命令行界面,这个选择在CLI工具里很少见
Schema校验用Zod v4:几乎所有数据流都有类型校验,安全意识是到位的(虽然发布流程翻车了)
模块全部懒加载:为了把启动时间压到最短

从代码质量来看,Claude Code的工程水准其实不低。40个工具、50个斜杠命令、完整的权限系统、多Agent协调——这是一个相当复杂的系统。恰恰是这种复杂度,让一个小配置项的遗漏显得格外刺眼。

一个能帮你写出更好代码的AI,自己却栽在了一行配置上。这不是关于AI能不能写代码的问题——而是关于人类是否还在认真对待那些”简单到不值得检查”的环节。

信息来源:Hacker News、DEV Community、CyberSecurity News、PiunikaWeb
事件时间:2026年3月31日