AGENT / INCIDENT REPORT · № 02
CASE FILE SOURCE MAP EXPOSURE NPM v2.1.88 · 2026-03-31 04:23 UTC

当代码不再是秘密 Claude Code 泄露事件

一个 NPM 包里遗留的 source map 文件,
在 72 小时内撕开了当前最热门 AI 编程工具的完整架构蓝图
社区完成了逆向、用 OpenAI 的模型在 Anthropic 的代码里找到了关键 Bug、还原了未发布的产品路线图——
这不是一次安全事件,是 AI 工具生态的第一次公开体检。
SOURCE FILES EXPOSED
4,756
FROM 59.8MB SOURCE MAP
CLAW-CODE STARS
100K+
CLEAN-ROOM PYTHON REWRITE
LINES OF TYPESCRIPT
~512K
QueryEngine.ts ALONE ≈50K
CLAUDE CODE ARR
$2.5B
"VIBE CODED GARBAGE" — BUILD.MS
01源码永久不可撤销。claw-code 净室重写破 10 万 Star,IPFS 已镜像,DMCA 徒劳
02KAIROS 暴露完整路线图。后台守护 + GitHub Webhook + 夜间记忆蒸馏
03autoCompact Bug是"用两下就限速"的真凶——3,272 次无限重试,三行代码即可修复
04遥测超出"编程助手"边界。640 种事件、CHICAGO 模块(截屏/键盘/剪贴板)
05Undercover 模式没有关闭开关。AI 系统性隐藏向开源仓库的提交痕迹
06Anthropic 旗舰不用自家 SDK。因 SDK 有 O(n²) 性能 Bug
07Capybara v8 幻觉率退化。从 16.7% 退化到 29-30%,竞品比用户更早知道
08DMCA 自我矛盾。训练时主张"AI 重写不构成侵权",泄露后反过来主张
09烂代码做出 25 亿 ARR。3,000 行 12 层嵌套打破"代码质量 = 产品质量"信仰
10市场地位不降反升。真正的护城河不在 TypeScript 里
§ 01 / EXPOSURE

从 .map 文件到
4,756 个源码

事件始于 2026-03-31 UTC 04:23。安全研究员 Chaofan Shou 发现 Claude Code v2.1.88 的 NPM 包中包含 59.8MB 的 source map(此前版本约 17MB),并指向 Cloudflare R2 上一个公开可访问的 src.zip——即使 npm 包被撤下,知道 URL 的人仍可下载全部源码。这个双重暴露路径在大多数分析中被忽略。

@tvytix 从中提取出 4,756 个源文件。韩国开发者 Sigrid Jin 创建的 GitHub 镜像在两小时内突破 5 万 Star,clean-room Python 重写版 claw-code 最终破 10 万 Star,很可能创下 GitHub 增长记录。代码进 IPFS——至此永久公开

这是 Anthropic 五天内第二次意外信息泄露,13 个月内第二次完全相同的 source map 事故。这已超越"个别人为失误",指向系统性流程缺陷。

§ 02 / ARCHITECTURE

五项核心架构发现

FINDING 01 · ANTI-DISTILL

反蒸馏双保险的"防君子不防小人"

向 API 注入"假工具"毒化拦截流量,工具调用间插入密码学签名摘要。但分析者指出两层防护可被环境变量或中间人代理简单绕过——一家以"AI 安全"为品牌的公司,反蒸馏被首次公开验证为表演性的

FINDING 02 · UNDERCOVER

没有关闭开关的隐身模式

90 行代码模块,指示 AI 在外部仓库中隐藏 Anthropic 内部代号(Capybara、Tengu)。员工向开源项目提交代码时,AI 痕迹被系统性抹除。当你看到一个"人类开发者"的 commit,它可能是 AI 辅助的,而你无从知晓

FINDING 03 · FRUSTRATION

挫败检测用正则不用 LLM

识别用户挫败靠简单正则,不是 LLM 推理。速度和成本压倒了技术优雅——这个工程决策反映了 AI 产品设计的真实优先级。

FINDING 04 · KAIROS

未发布的完整路线图

源码引用 150+ 次:后台 Daemon 终端关闭后持续运行,周期性 <tick> 提示 + GitHub Webhook 订阅 + 夜间记忆蒸馏(autoDream)+ 最长 30 分钟深度思考的 ULTRAPLAN。最敏感的竞争情报,对所有竞品完全可见

FINDING 05 · OWN SDK BYPASS

Anthropic 旗舰产品绕过了自家 SDK

QueryEngine.ts 近 5 万行——绕过官方 SDK 的原因是 SDK 存在 O(n²) 性能问题。一家公司的旗舰产品不敢用自家公开工具库。这个细节比任何架构图都更真实地反映了 AI 工程的"说一套做一套"现实。

§ 03 / THE BUG

三行代码
揭示的系统性问题

社区把泄露源码喂给 OpenAI Codex 分析,发现 autoCompact 失败后会无限重试,没有失败次数上限——源码注释中最高连续失败 3,272 次,每一次都在烧用户的 token 配额。

MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3

三行代码。

这与 Anthropic 同期承认的"用户触达使用限制比预期更快"直接对应——开发者长期抱怨的"用两下就限速",部分源于此 Bug 在后台烧 token。打补丁后用户的额度使用恢复正常。

最具讽刺意味的是:这个 Bug 是用 OpenAI 的 Codex 在 Anthropic 泄露的源码中发现的——竞品帮你找 Bug,大概是 AI 行业最黑色幽默的协作方式。

vibe coded garbage 可以在不到一年内带来
25 亿美元年化收入——只要产品市场契合度到位。
— BUILD.MS · ON THE LEAKED SOURCE
§ 04 / SURVEILLANCE

泄露的不是代码
监控能力

几乎所有主流分析都聚焦于功能发现。但 Concret.io 的安全团队和 The Register 的后续调查指向一个被低估的维度:Claude Code 的数据采集范围远超一个"编程助手"的合理需要

每次 Read、每次 Bash、每次搜索结果都以明文 JSONL 存储在本地,并以用户 ID、组织 UUID、邮箱为元数据回传。数据保留期限分散在五份不同政策文档中——安全页写"有限保留",隐私中心写"最长七年"。

更值得警惕的是架构层面的远程控制能力:feature gates 每小时热加载,无需用户交互。配合已曝光的 CHICAGO 模块(截屏/键盘/剪贴板/系统级文件访问),"安装时同意的条款"和"运行时实际行为"之间存在动态缺口

几乎所有分析者忽略的企业风险盲区:开发者用个人免费账号处理公司代码时,适用消费者条款而非企业协议。Anthropic 的数据保护跟随账号而非代码——企业 DPA 在这种场景下形同虚设。

  1. 审计组织内部有多少开发者用个人账号处理公司代码
  2. 检查 CHICAGO 模块敞口(截屏 + 键盘 + 文件访问的组合权限)
  3. 核查公司是否签署含 DPA 的企业协议——个人账号不受保护
  4. 关注 feature gates 热加载——"安装时行为"≠"运行时行为"
§ 05 / DMCA

用版权法保护
AI 写的代码

DMCA 下架行动误伤了约 8,100 个合法 fork。但真正的故事不在执行力度,而在法律逻辑的自我矛盾

CEO Dario Amodei 曾暗示 Claude Code 的相当部分由 Claude 自己编写。Build.ms 尖锐地指出双重标准:Anthropic 训练 Claude 时主张"AI 重写不构成侵权",Claude Code 泄露后却主张"AI 重写构成侵权"

这不是仅关乎 Anthropic 的问题。它暴露了整个 AI 行业的法律基础设施赤字——当 AI 既是代码的作者又是代码的"洗稿工具"时,版权法的"作者"概念需要彻底重写。

§ 06 / NON-CONSENSUS

烂代码的
25 亿美元启示

中文开发者社区对 src/cli/print.ts 中的3,000 行、12 层嵌套"屎山代码"高度共鸣。但这不是嘲讽,而是对开发者行业一个深层信仰的挑战:

代码质量与产品成功的相关性,远低于工程师们愿意承认的程度。

对照证据:Codex 和 Gemini Code Assist 的底层代码一直开源,从未威胁到 Claude Code 的市场地位。如果代码公开就意味着竞争力丧失,这两个产品早该赢了。泄露的真正影响是感知层面的,不是技术层面的

真正的护城河在模型能力 + 推理成本 + 云端基础设施 + 品牌信任的综合体中——不在 51 万行 TypeScript 里。Engineer's Codex 进一步指出:Claude Code 默认只启用 15-20 个工具,刻意的工具极简主义可能是其 UX 优于竞品的关键。

§ 07 / TIMELINE

事故,
还是最大胆的 PR

DEV Community 的一篇文章提出了一个不应被轻易驳回的问题框架:

最反讽的是 Undercover 模式本身:Anthropic 专门写 90 行代码防止内部信息通过代码贡献泄露,然后通过一个忘记从 npm 包中排除的文件泄露了全部源码。一个专门建造防泄密系统的公司,栽在最基础的发布配置上。

我们大概率永远不会得到确切答案。但这个问题本身揭示了一个新现实:在 AI 行业的信息环境中,"事故"和"信息操作"的区分越来越困难,而这种不可区分性本身就是一种战略资产

§ 08 / EPILOGUE

一面照出
所有人的镜子

51 万行 TypeScript 终将被遗忘。但它引发的对话才刚刚开始:

Anthropic 看到了流程漏洞与"AI 安全公司"标签的脆弱性。竞品看到了一份完整工程蓝图,但也不得不面对一个尴尬事实——Claude Code 在泄露后一周内市场地位不降反升。开源社区被迫重新审视"谁在写代码"。监管机构(如果他们在关注)看到了 AI 工具在开发者机器上的真实权限范围——远超公众讨论中的"编程助手"定位

而 AI 行业整体看到的是一个更根本的信号:当你的产品是一个拥有系统级权限的自主 Agent,"代码泄露"的风险清单已经从传统的"商业秘密丧失"扩展到了"能力边界的公众审视"。这是一种全新的暴露——不是代码在裸奔,是意图在裸奔