Claude Code 51万行源码泄露:不是愚人节玩笑,全球AI开发者连夜"抄作业"
一、 这绝对不是什么愚人节玩笑。
3月31日,愚人节前一天,Anthropic送了全球程序员一份大礼。
他们在更新Claude Code的npm包时,不小心把一个60MB的source map调试文件留在了发布包里。这个文件本来应该在打包时排除掉,结果没有。任何人都可以用它还原出Claude Code完整的TypeScript源码——1902个文件,51.2万行代码,连开发工程师随手写的注释都原封不动。
不是黑客攻击,不是内鬼泄密,就是纯纯的手滑。
安全研究员Chaofan Shou最先发现了这件事,他的推文引来2200多万人围观。几小时内,GitHub上的镜像仓库instructkr/claw-code在2小时内冲到5万Star,创了GitHub历史纪录。

但更离谱的是另一个数字:Fork数超过了Star数。最高时fork 6万、star 5.8万。我做了这么多年技术,从来没见过fork比star多的开源项目。这意味着绝大多数人连点赞都顾不上,先fork一份存下来再说。全球开发者都在抢时间,因为大家都知道Anthropic的律师函不会太远。
马斯克也凑了个热闹,转发了一条”Anthropic现在比OpenAI更open了“的段子。
最搞笑的是,这已经是第二次了。2025年2月Claude Code刚发布时就出过一模一样的事故——source map没排除,源码全暴露。一年多过去了,同样的错误又来了一遍。而且就在五天前,Anthropic还因为CMS配置失误泄露了约3000份内部文件,里面有未发布的”Claude Mythos“模型细节。一周之内两次翻车,这家以”安全第一”自居的公司,自己的发布流程倒是挺不安全的。
二、 凌晨4点的代码大逃杀

Anthropic反应很快。DMCA版权通知已经提交给GitHub,下架范围覆盖整个Fork网络——超过8100个仓库。npm上的v2.1.88包也紧急撤回,版本号直接跳到v2.1.89。
但故事才刚刚开始。泄露者Sigrid Jin(instructkr)在凌晨4点被手机消息炸醒后。他自己回忆说,在韩国的女友真心替他捏了把汗,怕他仅仅因为电脑里存了这代码就被Anthropic起诉。于是他做了一件很猛的事:连夜用AI辅助工具把整个TypeScript代码库从零改写成了Python版本,几小时后又用Rust重写了一遍。

有人在推特上复述了这场戏剧性的经过:”Anthropic迄今为止最大的泄密事件。有人为此建了一个代码仓库。该仓库已获得5万次Fork,4万颗Star。Anthropic开始对开发者发出DMCA删除通知。兄弟吓到了。他把所有东西都转换成了Python。天才之举。他不满意。用Rust重写一切。兄弟无所畏惧。“
现在这个仓库里没有一行TypeScript,Anthropic的版权投诉拿它没办法。社区还冒出了好几个”洁净室实现”版本。代码早就散出去了,想彻底封杀已经不可能。
如果你只是在网页上点了Fork但没有git clone到本地,那可能很快就没了。
三、 全网疯狂拆解,我自己用AI做分析的速度根本跟不上
说实话,这次我被卷到了。
泄露发生后不到24小时,花叔翻了几个小时写了万字分析,手工川直接出了一份134页的系统报告,36氪连发多篇,VentureBeat、The Register、CNBC、Axios等英文媒体全面跟进。推特上每隔几分钟就有新发现。AI大牛Sebastian Raschka总结了六大技术要点,英伟达的Yadong Xie做了一个能跟代码里隐藏的电子宠物互动的界面——对,你没看错,Anthropic在代码里藏了一套电子宠物系统,后面细说。
我用AI搜索和验证了各路大拿的分析之后,做了以下总结。
大家侧重点各有不同,但有一个共识:Claude Code好用,60%靠模型能力,40%靠围绕模型搭建的工程系统。Anthropic内部管这套工程系统叫”Harness”——笼具。这个词很形象:模型是一匹烈马,Harness就是让它跑得又快又稳的那套缰绳和鞍具。
四、 翻完源码,最有价值的几个发现
这次泄露的信息量太大,全面展开能写一本书。我挑几个对做Agent的人最有参考价值的点说。
-
你以为AI只收到了你一句话,其实它收到了一整本说明书。 Claude Code的system prompt不是一段固定文本,而是由一个函数动态拼装出来的。静态部分全用户共享、可以缓存省钱;动态部分根据你的配置文件、操作系统、MCP服务器、Git状态等实时组装。中间有个叫SYSTEM_PROMPT_DYNAMIC_BOUNDARY的分界线,一刀切开缓存和个性化。这个设计在token经济学上很聪明——缓存命中率提高10%,大规模服务下一个月能省不少钱。
-
Auto模式背后其实跑着两个AI。 每次主AI想执行操作,会有一个独立的Claude Sonnet分类器来判断安不安全,分三档:放行、需确认、直接拦截。连续被拒3次或累计被拒20次,自动降级为手动模式。安全边界不是限制,是信任的基础——因为有底线,你才敢给它更大的权限。
-
记忆系统的铁律是”不记代码”。 代码会变,但记忆不会自动更新。如果记忆说”函数X在文件Y的第30行”,代码重构之后这条记忆就成了误导。所以Claude Code只记用户偏好和判断,代码相关的事实永远去源码里实时查。还有个叫autoDream的功能——空闲时自动在后台”做梦”整理记忆,像人睡觉时巩固白天的经历一样。

推特上有人把Claude Code的完整记忆架构画成了一张图,可以看到它分三层存储:MEMORY.md始终在上下文里,Topic文件按需加载,Session记录只做定向grep不会全量读取。autoDream在底部——满足条件后由一个独立子agent分四个阶段整理记忆。

-
最先进的AI工具用的是最朴素的搜索。 你以为Claude Code搜代码用了向量数据库、Embedding索引?实际上就是grep和ripgrep。当你有一个足够聪明的大脑来理解搜索结果时,搜索引擎本身不需要多聪明。这大概是整个Harness里最反直觉也最实用的设计哲学:与其让每个环节都变复杂,不如让一个环节足够强,其他环节保持简单。
Sebastian Raschka在推特上补充了一个重要观点:Claude Code和网页版聊天用的是同一个模型,但体验差距巨大,原因就在于这套工程”外壳”——实时加载代码仓库上下文、激进的prompt缓存复用、专用的文件搜索和代码分析工具链、结构化的会话记忆、子Agent并行处理。如果把开源模型塞进同样的框架里,编程表现也会强得多。
五、 10大隐藏功能:Anthropic的产品路线图被扒了个干净
源码里的feature flags暴露了一堆还在开发中的功能。这些功能代码都写好了,只是编译时开关设成了false。推特上各种版本的盘点满天飞,这里综合最完整的发现:
Buddy——AI电子宠物。 src/buddy/目录下藏着一套完整的虚拟宠物系统。18种物种可选——鸭子、猫、龙、水豚、仙人掌都有。6种眼睛样式,完整的稀有度分级,1%概率出闪光版,由用户ID哈希决定,没法刷。代码注释写了一句话让我笑了半天:”Mulberry32, good enough for picking ducks”——这个随机算法用来挑鸭子够用了。迫于泄露压力,Anthropic已经在v2.1.89版本提前把宠物功能上线了。英伟达的Yadong Xie还做了个互动界面,程序员也要养宠了。
KAIROS——主动模式。 源码里出现了158次,是出现频率最高的feature flag。这东西如果上线,Claude就不是”你问我答”了,而是7×24小时在线、主动干活——自己写日志、主动推通知、有独立的心跳机制。这基本上揭示了Anthropic的终极目标:真正自主的Agent。
AutoDream——做梦模式。 你不用Claude的时候,它在后台自动整理记忆。合并矛盾信息,删除过时内容,距上次整理超过24小时且积累5个以上新会话时自动触发。名字起得太浪漫了。
其余还有:Daemon(常驻后台服务)、UDS Inbox(多个Claude窗口之间互相发消息)、Teleport(把工作会话从一台电脑传送到另一台)、Ultraplan(云端用最强模型花30分钟深度规划项目)、Ultrareview(云端派5-20个Agent从不同角度审查代码)、Voice Mode(语音交互编码)、Swarm(多Agent协作,有Leader和Teammate的角色分工)。
如果这些功能全部上线,Claude Code就不只是个编程助手了,更像一个能主动思考、持续运行的AI同事。
六、 封号机制也被扒光了
这部分对中国用户尤其重要。
源码暴露了三条数据上报通道:Datadog做实时监控,BigQuery存完整日志,GrowthBook管特性开关和A/B实验。
关键是:即使你设了DISABLE_TELEMETRY=1关闭遥测,每个API请求自带的Attribution Header和Attestation照发不误。遥测开关只关掉了两条通道,核心的身份验证信号一个都没少。
最狠的反作弊机制叫cch Attestation——由Bun底层的Zig代码生成一个Hash,用来确认请求是否来自未修改的官方客户端。你改了代码或者用API代理,这个Hash就对不上,服务端立刻知道你不是官方版本。
还有设备指纹:每台机器第一次运行Claude Code时会生成一个64字符的Device ID,永久存在~/.claude.json里。换账号不换设备,风控一关联就能发现封号历史。而且Claude Code还会读你的git config user.email——即使你没用OAuth登录。
封号不是一刀切,而是6层渐进链路:速率提醒→临时降级→席位限制→单账号禁用→信用余额不足→OAuth令牌吊销。
有人专门分析了一个反直觉的结论:千万别关遥测。”关闭遥测”的教程几乎只在中文社区传播,风控系统做贝叶斯推理就能估算出关遥测用户中不合规地区的比例有多高。你关掉的只是Datadog和BigQuery,IP归属、TLS指纹、OAuth Token这些一个没少。唯一多做的事是给自己贴了个”我有东西要藏”的标签。更要命的是,关遥测会连带禁用GrowthBook,而GrowthBook控制着几乎所有付费功能的Feature Flag——Opus 4.6 1M模型静默消失、Fast Mode不可用。你花了钱,功能悄悄降级了,连报错都没有。
七、 还有几个有意思的彩蛋
内部版和外部版不一样。 源码里到处都是USER_TYPE === ‘ant’的判断。Anthropic员工用的Claude Code有几条额外规则:默认不写注释;测试失败了就说失败了,不许粉饰;复杂任务完成后自动启动独立agent做对抗性验证。这些差异透露了Anthropic认为AI应该怎么干活的理想状态——对自己人比对外面更严。
Capybara模型家族。 源码确认Capybara是Claude 4.6变体的内部代号,Fennec对应Opus 4.6,还有个未发布的Numbat在测试。内部注释有个扎心的数据:Capybara已经迭代到v8了,但虚假声明率从v4的16.7%上升到v8的29-30%,实际上退步了。
axios供应链攻击。 就在泄露前几小时,npm上的axios包被植入了恶意代码。如果你在3月31日凌晨0:21到3:29之间通过npm装过Claude Code,建议检查一下依赖。Anthropic现在推荐用官方原生安装器代替npm。
网友从源码里提炼出了8套Agent设计模式。 有个叫huo0的开发者把51万行代码里的Agent设计逻辑抽象成了8个标准化的Skill文件,覆盖了协调调度、并发控制、对抗性验证、防AI偷懒、记忆管理等核心问题。其中”自我合理化防护”那条最有意思——本质上是Agent版的认知行为治疗:AI说”代码看起来正确”,正确做法是别信它,运行一下。这8个Skill合在一起,几乎就是一套Agent操作系统的方法论了。
八、 这次泄露真正的价值
CNBC报道Claude Code的年化收入已超过25亿美元。VentureBeat说这次泄露是”知识产权的战略性出血”。但换个角度看,这对全球AI创业者来说就是过了一个大节。
以前大家做Agent,上下文压缩怎么设计、长期记忆怎么管理、多Agent怎么防偷懒、安全权限怎么分层——这些问题只能自己摸索。现在全有了一份工业级的参考答案。有网友说这是愚人节送上的最佳礼物。
不过说实话,这次泄露对Claude Code团队的影响并不大。关注过他们更新节奏的人都知道,这个团队基本上1-2天就出一个新版本,持续把最新的模型能力和Harness工程融进CLI里。你今天看的v2.1.88源码,等你分析完可能已经过时好几个版本了。Hacker News上有人说得好:Anthropic的竞争力不在代码写得多漂亮,在于系统设计的决策做对了。代码可以被看见,但做出这些决策的团队能力和迭代速度,抄不走。
说到代码泄露,我自己也有过类似经历。早年在上海创业的时候,公司的产品源代码被员工偷出去卖了。怎么发现的?是一位离职去了另一家公司的老同事反馈回来的——因为对方拿到的代码连目录结构和注释都没改,一眼就认出来了。跟Anthropic这次被人从npm包里还原出带注释的源码,倒是有点异曲同工。
不过我们当时的判断是:创业公司代码的迭代速度,比花精力保障代码安全更有性价比。 你今天偷走的代码,两个月后可能已经面目全非。在AI时代这个判断更加成立——Claude Code这样的工具可以帮你快速重写甚至从零搭建一个系统,静态的代码本身越来越不值钱。真正值钱的是你对业务的理解、对用户需求的判断、以及Anthropic在上展现出的那种系统设计能力。
参考来源:花叔、手工川134页系统报告、36氪、Sebastian Raschka、Alex Kim、huo0、VentureBeat、The Register、CNBC、Axios等
夜雨聆风