乐于分享
好东西不私藏

Claude Code 源码泄露:24小时内诞生GitHub史上最快破3万Star的项目

Claude Code 源码泄露:24小时内诞生GitHub史上最快破3万Star的项目

一行配置错误,暴露了512,000行代码。然后,一个开源项目以史无前例的速度崛起。


事件概述

2026年3月31日,Anthropic的旗舰AI编程工具Claude Code,其完整源代码意外泄露到npm公共仓库。

这不是黑客攻击,而是一行配置的失误

一个59.8 MB的source map文件(.map),本应只在内部调试时使用,却被错误地打包进了公开发布的npm包。这个文件指向了一个公开可访问的Cloudflare R2存储桶,里面放着完整的源码压缩包。

结果:512,000行TypeScript代码、1,906个源文件,永久进入公众视野。


泄露的技术细节:三层失误叠加

第一层:.npmignore 缺了一行

正常的配置应该是:

*.mapdist/*.map

但Claude Code的配置文件里,这行不存在。

第二层:公开的存储桶

source map文件本身不包含源码,但它引用了一个.zip文件的URL。这个压缩包托管在Anthropic自己的Cloudflare R2存储桶上——公开可访问,无需任何认证

下载链路:

npm install @anthropic-ai/claude-code  → 下载包含 main.js.map (59.8 MB)  → .map 文件包含 URL 指向 src.zip  → src.zip 公开托管在 R2  → 任何人可下载 512,000 行 TypeScript

第三层:Bun的已知Bug

Anthropic在2025年底收购了Bun JavaScript运行时,Claude Code正是基于Bun构建。

一个已知Bug(issue #28001,3月11日提交)报告说:source map会在生产构建中被发送,尽管文档说不应该。

这个Bug开了20天,没人处理。Anthropic自己拥有的运行时,贡献了自己产品的泄露。


时间线:从发现到爆发

时间 UTC
事件
00:21
恶意axios版本出现在npm(无关但灾难性巧合)
~04:00
Claude Code v2.1.88 推送到npm,59.8 MB source map随之发布
04:23
安全研究员Chaofan Shou (@shoucccc) 发推披露,附带下载链接
接下来2小时
GitHub仓库涌现,最快破50,000 star的repo仅用2小时
~08:00
Anthropic撤回npm包,发布”人为失误,非安全漏洞”声明

数字

  • • 41,500+ forks
  • • 原推文1,600万次浏览
  • • Claude Code年营收:$2.5 billion
  • • Anthropic总ARR:$19 billion

泄露内容:比想象中更震撼

这不是模型权重(那些没暴露),但在很多方面,这些代码更有战略价值

1. 架构揭示

Tool System:约40个工具、29,000行代码

  • • BashTool(shell执行)
  • • FileReadTool / FileWriteTool / FileEditTool
  • • WebFetchTool(实时网络访问)
  • • LSPTool(IDE集成)
  • • GlobTool / GrepTool(代码库搜索)
  • • 每个工具都有独立的权限模型、验证逻辑

Query Engine:46,000行——”整个系统的大脑”

  • • 所有LLM API调用和响应流式传输
  • • Token缓存和上下文管理
  • • 多Agent编排
  • • 重试逻辑

三层记忆架构(竞争对手会仔细研究这部分):

Layer 1: MEMORY.md → 轻量指针索引(~150字符/条)Layer 2: Topic Files → 按需获取的项目知识Layer 3: Raw Transcripts → 从不完整重读,仅grep特定标识符

核心洞察:Strict Write Discipline——Agent只能在确认成功写入文件后更新记忆索引。

2. 隐藏功能:Anthropic没打算让你知道的

KAIROS:始终运行的自主Agent模式

  • • 提及150+次
  • • 后台持续运行,在你空闲时工作
  • • autoDream:夜间记忆整合
  • • 合并观察、消除逻辑矛盾、将模糊洞察转化为验证事实

ULTRAPLAN:30分钟远程规划

  • • 将复杂规划任务卸载到远程云容器运行Opus
  • • 最多30分钟思考时间
  • • 手机/浏览器审批后,结果返回本地终端

Coordinator Mode:多Agent编排

  • • 一个Claude管理多个worker Claude并行工作
  • • 任务分发、结果聚合、冲突处理

BUDDY:最意外的发现

  • • 一个完整的Tamagotchi式AI宠物
  • • 18种物种(duck, dragon, axolotl, capybara, mushroom, ghost…)
  • • 稀有度:Common > Uncommon > Rare > Epic > Legendary
  • • 1%闪亮概率
  • • 属性:DEBUGGING / PATIENCE / CHAOS / WISDOM / SNACK
  • • 计划发布窗口:2026年4月1-7日

44个Feature Flags:其中20个对外用户禁用——完全构建但保留的功能。

3. 反蒸馏机制:污染竞争对手的训练数据

ANTI_DISTILLATION_CC标志启用时,API请求发送anti_distillation: ['fake_tools']

目的:如果竞争对手录制Claude Code的API流量来训练自己的模型,伪造的工具定义会污染那个训练数据。

还有一个机制:服务端connector-text摘要——API缓冲Assistant在工具调用间的推理,只返回摘要,并加密签名。

4. 下一代模型代号确认

Capybara(也在单独泄露的文档中称为Mythos)多次出现在源码中。

Beta标志引用了特定的API版本字符串,表明它已超越概念阶段。

还有一个undercover.ts模块,主动指示Claude Code不要在外部仓库提及内部代号如”Capybara”或”Tengu”


claw-code:从零开始的重写

在泄露披露后数小时内,开发者Sigrid Jin (@sigridjineth) 开始了一个”clean-room”重写。

他是谁?Wall Street Journal曾报道:他是全球最活跃的Claude Code用户之一,过去一年消耗了超过25 billion Claude Code tokens

他曾飞到旧金山参加Claude Code的一周年派对,与律师、医生、牙医——没有软件工程背景的人——分享经验。

他的做法

凌晨4点醒来,手机通知爆炸。女朋友担心他因为机器上有泄露代码而面临法律风险。

他的决定:坐下来,从零开始用Python重写核心功能,太阳升起前push。

整个移植由oh-my-codex (OmX)协调——一个基于OpenAI Codex的工作流层。用$team模式做并行代码审查,用$ralph模式做持久执行循环。

结果:claw-code

  • • Python clean-room重写,捕获架构模式但不复制任何专有源码
  • • Rust移植分支 (dev/rust) 已启动,目标是更快、内存安全的运行时
  • • 将作为项目的最终版本

项目结构

claw-code/├── src/              # Python workspace│   ├── commands.py   # CLI命令注册和分发│   ├── tools.py      # 插件式工具系统│   ├── models.py     # LLM provider抽象层│   ├── query_engine.py # 核心查询引擎│   └── main.py       # 入口├── rust/             # Rust核心(性能关键路径)└── tests/            # 验证和集成测试

GitHub历史记录:史无前例的速度

claw-code成为GitHub历史上最快突破30,000 star的开源项目

截至最新数据:

  • • 48,000+ stars
  • • 56,000+ forks
  • • 335 active watchers
  • • 2,100+ open issues

Star History图表:一条近乎垂直的线。


DMCA为什么无效

Anthropic发了DMCA下架请求,GitHub立即执行。

但:

  • • Gitlawb的去中心化镜像,明确声明”Will never be taken down”
  • • Python重写被法律专家认为是DMCA-proof——新创作作品,不侵犯版权
  • • 还有torrent。内容一旦在互联网大规模扩散,就不会回来了

现实:512,000行Claude Code代码,永久存在于公众领域


安全警告:axios RAT

与泄露同时(但无关)的是一次真正的npm供应链攻击:

恶意axios版本:1.14.1 和 0.30.4

包含远程访问木马(RAT),恶意依赖:plain-crypto-js

如果你在00:21-03:29 UTC期间通过npm更新了Claude Code

# 立即检查lockfilesgrep -r "1.14.1|0.30.4|plain-crypto-js" package-lock.jsongrep -r "1.14.1|0.30.4|plain-crypto-js" yarn.lockgrep -r "1.14.1|0.30.4|plain-crypto-js" bun.lockb

如果发现匹配:

  • • 视机器为完全被入侵
  • • 立即轮换所有凭证、API key、密钥
  • • 执行干净的操作系统重装
  • • 对任何组织数据提交事件报告

Anthropic已将推荐安装方法改为Native Installer

curl -fsSL https://claude.ai/install.sh | bash

开发者团队应该学到什么

这次事件是发布管道故障如何叠加的清晰案例。

检查清单

# 1. 审计 .npmignore / package.json "files" 字段cat .npmignore# 你明确排除了 *.map, dist/*.map, *.d.ts.map 吗?# 2. 检查生产构建是否发送source mapsls dist/ | grep ".map$"# 如果看到任何东西:bundler配置需要审查# 3. 审计云存储权限# 你的构建产物引用的存储桶有公开可访问的吗?# 4. 检查构建工具链的已知Bug# 如果你用Bun,检查issue #28001状态# 5. 审查npm发布工作流npm pack --dry-run# 审查会发布的每一个文件,真正发布前

Hacker News的一句话总结

“Your .npmignore is load-bearing. Treat it like a security boundary.”


结语:事故还是公关?

我们知道的确切事实:

  • • 一个配置错误的.npmignore和公开存储桶暴露了512,000行代码
  • • 代码瞬间扩散,现在永久存在于公众领域
  • • 泄露揭示了一个技术过硬的产品和令人期待的feature路线图
  • • Anthropic在开发者中的品牌恢复得惊人地快

我们可能永远不会知道的:

  • • Anthropic内部是否有人看到了Bun Bug并做出了判断
  • • BUDDY在愚人节期间的发布窗口是否巧合
  • • Anthropic对DMCA执行的相对克制是法律策略还是资源分配

没有争议的是:Claude Code内部的工程是真正令人印象深刻的。

记忆架构、反蒸馏机制、多Agent协调、HTTP层的DRM attestation——这是真正做困难事情的严肃软件。

无论是否是事故,世界现在知道了Anthropic能构建什么。

也许这正是目的。


项目链接

claw-code GitHub:https://github.com/instructkr/claw-code

claw-code官网:https://claw-code.codes/

Sigrid Jin:@sigridjineth


参考资料

  • • Alex Kim技术深度分析
  • • VentureBeat完整报道
  • • Fortune战略分析+Capybara确认
  • • DEV.to架构解析(Gabriel Anhaia)
  • • Hacker News讨论
  • • Bun Bug #28001