乐于分享
好东西不私藏

51万行源码泄露后24小时:全网逆向工程、复现Claude Code的疯狂之夜

51万行源码泄露后24小时:全网逆向工程、复现Claude Code的疯狂之夜

3月31日下午,Anthropic一个59.8MB的Source Map文件,把51.2万行Claude Code源码摊在了全世界面前。

然后,真正疯狂的剧情开始了。

不到6小时,GitHub上Fork数突破4万。不到12小时,有人用Python重写了核心架构。不到24小时,多语言SDK复现、Rust移植、多智能体编排框架纷纷出炉。甚至连Anthropic发起的DMCA下架,都被开发者用”换语言重写”完美绕过。

这不是一起简单的源码泄露事件——这是一场全球开发者对AI Agent架构的集体逆向工程狂欢。


一、事件始末:从泄露到”永生”

时间线

  • 3月31日 14:00 — Anthropic发布 @anthropic-ai/claude-code v2.1.88 到npm,忘了排除 cli.js.map
  • 16:30 — 安全研究员Chaofan Shou(@Fried_rice)发现59.8MB的Source Map,直接还原出1900+源文件、51.2万行TypeScript代码
  • 17:00 — X平台曝光,101.8万次浏览
  • 18:00 — GitHub备份仓库1小时内斩获11,300 Star、17,300 Fork
  • 22:00 — 韩国开发者连夜用Python重构核心功能,规避版权风险
  • 4月1日凌晨 — 韩国开发者的Python移植项目 claw-code 2小时内突破5万Star,打破GitHub星标增长速度历史纪录
  • 4月1日 09:00 — Anthropic紧急下架问题版本,发起DMCA投诉
  • 随后 — GitHub下架了包含原始TypeScript代码的仓库,但Python/Rust重写版本不受DMCA管辖,代码”永生”

💡 关键细节:Source Map引用了Anthropic R2存储桶中的未混淆TypeScript源文件,使整个 src/ 目录可被直接下载。这不是”可还原”——而是直接暴露。


二、源码解剖:逆向工程发现了什么?

2.1 Agent Loop核心:极简while-true循环

逆向分析最震撼的发现之一:Claude Code的核心Agent循环,本质上是一个极简的while-true循环

asyncfunctionagentLoop(query) {
while (true) {
const intent = awaitclassifyIntent(query);
const context = awaitgetRelevantContext(intent);
const plan = awaitcreatePlan(intent, context);
for (const step of plan.steps) {
const result = awaitexecuteStep(step);
yield result; // 流式返回
    }
  }
}

听起来简单?但外围包裹了12层渐进式工程防护:

  1. 输入验证层 — 分类意图、检测恶意指令
  2. 上下文组装层 — 从MEMORY.md索引加载相关知识
  3. 工具搜索层 — 44个工具的延迟加载,按需动态注入Schema
  4. 规划层 — 任务分解和依赖解析
  5. 执行层 — 带超时和重试的工具调用
  6. 安全层 — 25项Bash安全检查,迭代固定点算法解包嵌套命令
  7. 成本追踪层 — 实时Token计数和费用控制
  8. 压缩层 — 自动上下文压缩,167K Token后触发
  9. 协调层 — 多Agent间通信和任务分配
  10. 记忆层 — 三层记忆架构(索引→主题文件→会话转录)
  11. 权限层 — 基于文件路径和命令类型的细粒度控制
  12. 遥测层 — GrowthBook A/B测试和灰度发布

2.2 系统提示词:最有价值的一个文件

逆向分析发现,完整的系统提示词位于 constants/prompts.ts,被多个分析者称为”整个代码库中最有价值的文件”。

它揭示了Anthropic如何在生产级编码Agent中精确控制Claude的行为:

  • anti_distillation机制:请求中携带 anti_distillation: ['fake_tools'] 标记,向系统提示中注入虚假工具定义。如果竞争对手通过Claude Code收集训练数据,会得到被污染的工具Schema——让任何基于此训练的模型变得不可靠。
  • 隐藏的Simple模式:设置环境变量 CLAUDE_CODE_SIMPLE=1 时,整个复杂系统提示词被压缩为一行:”You are Claude Code, Anthropic’s official CLI for Claude”。
  • 负面情绪检测:包含大量脏话正则过滤器,对用户爆粗口会被标记为负面输入。
  • 关键设计原则:编写代码的Agent不能自行宣布任务完成。

2.3 多智能体架构:三条技术路线

逆向工程揭示了Claude Code的三条多Agent并行路线,覆盖从重到轻的全部场景:

重量级:Coordinator模式(跨进程、跨分支)coordinator/ 目录实现了完整的多智能体协调系统。协调器系统提示被描述为”多Agent设计的教科书级实现”:

  • 自动将目标分解为任务并分配给Agent
  • 基于拓扑排序的依赖解析任务调度
  • 每个Agent独立运行,通过MessageBus通信

中量级:Swarm模式(跨终端)多个终端实例协同工作,共享上下文但各自独立执行。

轻量级:InProcessTeammate(进程内)在单一进程内创建子Agent,用于并行处理子任务。

2.4 记忆系统:三层设计

逆向发现Claude Code的记忆不是简单的”记住对话”,而是精心设计的三层架构:

  1. MEMORY.md(索引层) — 始终加载,只包含指向其他知识的索引
  2. Topic Files(主题层) — 按需加载,只在相关时才获取
  3. Session Transcripts(会话层) — 永不直接加载,只在搜索时使用

更惊人的是 DreamTask 系统:当你不在使用Claude Code时,一个只读子Agent会”做梦”——回顾你的所有对话历史,提取编码偏好、架构决策、反复出现的模式,然后写入持久化记忆文件。这不是会话持久化,这是知识蒸馏。用得越久,它越懂你。

2.5 编译时特性标志系统

代码库中有44个特性标志(Feature Flags),但不是运行时 if/else,而是在Bun编译阶段直接从产物中物理删除不需要的代码分支。这意味着你的安装包大约只展现了完整能力的60%。

未发布的重磅功能:

功能 说明 门控方式
KAIROS 后台持续运行的自主守护进程,像贾维斯一样主动介入 KAIROS 特性标志
ULTRAPLAN 将复杂规划卸载到云容器,Opus 4.6用30分钟深度思考 ULTRA_PLAN 特性标志
Undercover Mode Anthropic员工在开源项目操作时自动抹除AI痕迹 USER_TYPE=ant
Buddy System 18物种电子宠物,闪光概率1% BUDDY 特性标志
Fast Mode 内部代号”Penguin Mode” 快速输出模式
Bridge 企业级远程控制,33个文件、215KB核心代码 IDE桥接

2.6 安全工程的深度

BashTool的安全实现被多位逆向分析者称为”整个代码库中最佩服的工程”:

  • 迭代固定点算法解包嵌套命令(不是简单的正则匹配)
  • 25项安全检查覆盖命令注入、路径穿越、权限提升
  • 秘密扫描(API Key、凭证等)
  • 故障关闭设计:任何不确定的操作默认拒绝

📖 反直觉发现:Claude Code有200行记忆上限,超出会静默截断。文件读取上限2000行,超出后Agent会产生幻觉。服务端错误后会静默从Opus降级到Sonnet。这些硬限制从未被公开文档化。


三、全网复现:GitHub上的逆向工程狂欢

3.1 源码备份与还原

instructkr/claude-code

  • Star: 30,000+ | Fork: 40,200+
  • 最早最大的Source Map还原仓库
  • 同时提供Python移植工作区,规避版权问题

AprilNEA/claude-code-source

  • 从npm包Source Map恢复的完整源码
  • 包含完整目录结构和所有TypeScript源文件

tanbiralam/claude-code

  • 详细的源码目录树展示
  • 完整的文件级功能标注

3.2 多语言复现:绕过DMCA的法律创新

Anthropic发起DMCA后,GitHub下架了包含原始TypeScript代码的仓库。但开发者找到了完美绕过方式——用其他语言重写

Kuberwastaken/claurst— Rust移植版

  • 将Claude Code的核心架构用Rust重新实现
  • 785KB的 main.rs 入口,对应原版的TypeScript主文件
  • 包含完整的工具系统、QueryEngine、协调器、Buddy系统的Rust实现
  • 详细文档解读了Undercover Mode、多智能体编排、系统提示词架构
  • 甚至发现了未来模型代号:Capybara(疑似Opus 4.7)和Sonnet 4.8

Python移植版(韩国开发者,凌晨4点赶工)

  • 凌晨4点醒来看到泄露消息,用 oh-my-codex AI编排工具连夜移植
  • 将TypeScript核心架构转为Python,重新命名项目为 claw-code
  • 2小时内突破50,000 Star,打破GitHub历史纪录
  • The Pragmatic Engineer创始人Gergely Orosz评价:”这要么很绝妙,要么很可怕:用Python重写了代码,不侵犯版权,DMCA有力也无处使!”

3.3 多智能体编排框架复现

JackChen-me/open-multi-agent

这是最纯粹的”逆向→复现”案例。作者从泄露的51万行代码中提取了多智能体编排层的设计模式,然后从零重实现:

  • Coordinator模式 → 自动将目标分解为任务并分配给Agent
  • Team/Sub-agent模式 → MessageBus + SharedMemory实现Agent间通信
  • 任务调度 → 带拓扑依赖解析的TaskQueue
  • 关键区别:运行在进程内(不像官方SDK每个Agent启动一个CLI进程)
  • 模型无关:Claude和OpenAI的模型可在同一个团队中协作
  • 声明未复制任何代码,是对设计模式的净室重实现(Clean Room Reimplementation)

Reddit上的另一个案例:一位开发者让Claude Code分析自己的源码,然后基于分析结果构建了一个开源多智能体框架。

3.4 Claude Code SDK逆向复现

Reddit用户逆向工程了12个版本的Claude Code

  • 在泄露之前,就已经逆向了12个版本的Claude Code
  • 用四种语言重建了整个SDK:单文件、零依赖、开源
  • 可使用现有Pro/Max订阅
  • 发现Claude Code整个包190MB,57K行代码由AI编写,0个测试
  • 尖锐评价:”AI写代码,AI审代码,没人验证任何东西”

3.5 源码深度分析项目

shareAI-lab/learn-claude-code

  • 把50万行代码整理成11篇渐进式教程
  • 每篇配有架构图和对比表,10分钟速读版
  • 部署在GitHub Page有Web界面,可交互学习
  • 从基础Agent Loop到自主Agent团队的11个递进阶段
  • 同时提供Python MVP实现

ThreeFish-AI/analysis_claude_code

  • 早在泄露之前就在做Claude Code的系统性逆向
  • 102个去混淆代码块、架构解析文档、分析脚本
  • 包含逆向工程标准作业程序(SOP)

beita6969/claude-code — Buildable Research Fork

  • 可构建的研究用Fork
  • 标注了约90个被特性标志门控的模块
  • 详细的功能-文件对照表

affaan-m/everything-claude-code

  • Claude Code配置大全:代理、技能、命令、规则与MCP集成
  • 社区驱动的持续更新

四、我的评价与观点

4.1 逆向工程的伦理边界

这次事件提出了一个全新的法律问题:AI生成的代码,到底归谁?

Claude Code有相当一部分代码是AI自己写的(57K行,0测试)。如果代码本身是AI生成的,那么AIGC是否应享有版权保护?这在中国和美国法律体系中都还没有定论。

更巧妙的是,开发者通过”换语言重写”的方式规避了DMCA——设计模式不受版权保护,只有具体表达才受保护。用Python重写TypeScript的架构设计,法律上很难认定为侵权。

4.2 真正的护城河不在源码

看了51万行代码后,我的核心判断是:Claude Code的竞争壁垒从来不在客户端源码。

真正的壁垒是:

  1. 模型能力 — Anthropic的Claude模型本身,权重未泄露
  2. 推理基础设施 — 年化190亿美元收入的背后是庞大的GPU集群
  3. 飞轮效应 — 2.5亿美元ARR、翻倍增长的用户数据持续优化模型
  4. 品牌与生态 — Skills市场、企业信任、合规体系

源码泄露后,任何人都可以复现一个”长得像Claude Code”的工具,但没有人能复现驱动它的那个模型。

4.3 但这次泄露真正改变了什么

它把”Agent Harness Engineering”从一个模糊概念变成了可学习的工程规范。

之前,AI Agent的工程化实现处于”各自为战”的状态。现在,全世界都看到了:

  • 一个生产级Agent Loop应该怎么设计
  • 上下文窗口作为稀缺资源应该怎么管理
  • 多Agent协调的三种粒度该怎么选择
  • 安全防护应该深入到什么程度
  • 记忆系统应该分几层

这会加速整个行业6-12个月的进步。尤其是对国内大厂——通义千问、文心一言、豆包们只需要把自家模型套进这套Harness框架,就能快速推出媲美Claude Code的产品。

4.4 Anthropic的DMCA反击:打地鼠游戏

Anthropic发起了DMCA投诉,GitHub配合下架了包含原始TypeScript代码的仓库。但这个策略面临三个无解困境:

  1. 代码已”永生” — 在下架前已被无数人下载备份
  2. 换语言重写无法下架 — Python/Rust版本不侵犯原始TypeScript版权
  3. 设计模式不受版权保护 — 净室重实现在法律上站得住脚

最终,Anthropic的DMCA更像是一种姿态——告诉员工和投资人”我们采取了行动”。但从实际效果看,这是在打地鼠。


五、代表性GitHub仓库速览

仓库 类型 Star 亮点
instructkr/claude-code 源码备份+Python移植 90K+ 最早、最大,1小时破万Star
Kuberwastaken/claurst Rust重写 785KB main.rs,完整功能复现
JackChen-me/open-multi-agent 净室重实现 模型无关的多智能体框架
shareAI-lab/learn-claude-code 教程化分析 11篇渐进教程+Web界面
ThreeFish-AI/analysis_claude_code 逆向研究 102个去混淆代码块+SOP
beita6969/claude-code 可构建Fork 90个门控模块标注
AprilNEA/claude-code-source 源码恢复 完整目录结构
affaan-m/everything-claude-code 配置大全 社区驱动的持续更新

总结

这次Claude Code源码泄露,不是一起简单的安全事故——它是一次AI Agent架构的”被动开源”,引发了史上最大规模的集体逆向工程。

事件的三层意义:

  1. 对Anthropic:连续两次同样的低级失误暴露了工程管理的系统性薄弱;DMCA下架是打地鼠,代码已”永生”
  2. 对行业:意外完成了”AI Agent工程化”的知识民主化——Harness设计从黑盒变成了教科书
  3. 对开发者:51万行代码是一座金矿——但挖矿的方式决定了你是学习者还是侵权者

我的终极判断:

这次泄露对Anthropic的短期冲击可控(模型权重未泄露),但长期影响深远——它证明了AI编程工具的客户端代码不是护城河。当所有人都能复现Agent架构时,竞争将回归到最本质的东西:谁的模型更强,谁的推理更便宜,谁的用户体验更好。

而那个凌晨4点爬起来、赶在日出前用Python重写了Claude Code的韩国开发者,或许是这个时代最生动的注脚——信息一旦泄露,技术的传播速度永远快于法律的封锁速度。


标签: #ClaudeCode #源码泄露 #逆向工程 #AIAgent #开源复现 #Harness工程