反蒸馏双保险的"防君子不防小人"
向 API 注入"假工具"毒化拦截流量,工具调用间插入密码学签名摘要。但分析者指出两层防护可被环境变量或中间人代理简单绕过——一家以"AI 安全"为品牌的公司,反蒸馏被首次公开验证为表演性的。
事件始于 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 事故。这已超越"个别人为失误",指向系统性流程缺陷。
向 API 注入"假工具"毒化拦截流量,工具调用间插入密码学签名摘要。但分析者指出两层防护可被环境变量或中间人代理简单绕过——一家以"AI 安全"为品牌的公司,反蒸馏被首次公开验证为表演性的。
90 行代码模块,指示 AI 在外部仓库中隐藏 Anthropic 内部代号(Capybara、Tengu)。员工向开源项目提交代码时,AI 痕迹被系统性抹除。当你看到一个"人类开发者"的 commit,它可能是 AI 辅助的,而你无从知晓。
识别用户挫败靠简单正则,不是 LLM 推理。速度和成本压倒了技术优雅——这个工程决策反映了 AI 产品设计的真实优先级。
源码引用 150+ 次:后台 Daemon 终端关闭后持续运行,周期性 <tick> 提示 + GitHub Webhook 订阅 + 夜间记忆蒸馏(autoDream)+ 最长 30 分钟深度思考的 ULTRAPLAN。最敏感的竞争情报,对所有竞品完全可见。
QueryEngine.ts 近 5 万行——绕过官方 SDK 的原因是 SDK 存在 O(n²) 性能问题。一家公司的旗舰产品不敢用自家公开工具库。这个细节比任何架构图都更真实地反映了 AI 工程的"说一套做一套"现实。
社区把泄露源码喂给 OpenAI Codex 分析,发现 autoCompact 失败后会无限重试,没有失败次数上限——源码注释中最高连续失败 3,272 次,每一次都在烧用户的 token 配额。
三行代码。
这与 Anthropic 同期承认的"用户触达使用限制比预期更快"直接对应——开发者长期抱怨的"用两下就限速",部分源于此 Bug 在后台烧 token。打补丁后用户的额度使用恢复正常。
最具讽刺意味的是:这个 Bug 是用 OpenAI 的 Codex 在 Anthropic 泄露的源码中发现的——竞品帮你找 Bug,大概是 AI 行业最黑色幽默的协作方式。
vibe coded garbage 可以在不到一年内带来
25 亿美元年化收入——只要产品市场契合度到位。 — BUILD.MS · ON THE LEAKED SOURCE
几乎所有主流分析都聚焦于功能发现。但 Concret.io 的安全团队和 The Register 的后续调查指向一个被低估的维度:Claude Code 的数据采集范围远超一个"编程助手"的合理需要。
每次 Read、每次 Bash、每次搜索结果都以明文 JSONL 存储在本地,并以用户 ID、组织 UUID、邮箱为元数据回传。数据保留期限分散在五份不同政策文档中——安全页写"有限保留",隐私中心写"最长七年"。
更值得警惕的是架构层面的远程控制能力:feature gates 每小时热加载,无需用户交互。配合已曝光的 CHICAGO 模块(截屏/键盘/剪贴板/系统级文件访问),"安装时同意的条款"和"运行时实际行为"之间存在动态缺口。
几乎所有分析者忽略的企业风险盲区:开发者用个人免费账号处理公司代码时,适用消费者条款而非企业协议。Anthropic 的数据保护跟随账号而非代码——企业 DPA 在这种场景下形同虚设。
DMCA 下架行动误伤了约 8,100 个合法 fork。但真正的故事不在执行力度,而在法律逻辑的自我矛盾。
CEO Dario Amodei 曾暗示 Claude Code 的相当部分由 Claude 自己编写。Build.ms 尖锐地指出双重标准:Anthropic 训练 Claude 时主张"AI 重写不构成侵权",Claude Code 泄露后却主张"AI 重写构成侵权"。
这不是仅关乎 Anthropic 的问题。它暴露了整个 AI 行业的法律基础设施赤字——当 AI 既是代码的作者又是代码的"洗稿工具"时,版权法的"作者"概念需要彻底重写。
中文开发者社区对 src/cli/print.ts 中的3,000 行、12 层嵌套"屎山代码"高度共鸣。但这不是嘲讽,而是对开发者行业一个深层信仰的挑战:
代码质量与产品成功的相关性,远低于工程师们愿意承认的程度。
对照证据:Codex 和 Gemini Code Assist 的底层代码一直开源,从未威胁到 Claude Code 的市场地位。如果代码公开就意味着竞争力丧失,这两个产品早该赢了。泄露的真正影响是感知层面的,不是技术层面的。
真正的护城河在模型能力 + 推理成本 + 云端基础设施 + 品牌信任的综合体中——不在 51 万行 TypeScript 里。Engineer's Codex 进一步指出:Claude Code 默认只启用 15-20 个工具,刻意的工具极简主义可能是其 UX 优于竞品的关键。
DEV Community 的一篇文章提出了一个不应被轻易驳回的问题框架:
oven-sh/bun#28001)最反讽的是 Undercover 模式本身:Anthropic 专门写 90 行代码防止内部信息通过代码贡献泄露,然后通过一个忘记从 npm 包中排除的文件泄露了全部源码。一个专门建造防泄密系统的公司,栽在最基础的发布配置上。
我们大概率永远不会得到确切答案。但这个问题本身揭示了一个新现实:在 AI 行业的信息环境中,"事故"和"信息操作"的区分越来越困难,而这种不可区分性本身就是一种战略资产。
51 万行 TypeScript 终将被遗忘。但它引发的对话才刚刚开始:
Anthropic 看到了流程漏洞与"AI 安全公司"标签的脆弱性。竞品看到了一份完整工程蓝图,但也不得不面对一个尴尬事实——Claude Code 在泄露后一周内市场地位不降反升。开源社区被迫重新审视"谁在写代码"。监管机构(如果他们在关注)看到了 AI 工具在开发者机器上的真实权限范围——远超公众讨论中的"编程助手"定位。
而 AI 行业整体看到的是一个更根本的信号:当你的产品是一个拥有系统级权限的自主 Agent,"代码泄露"的风险清单已经从传统的"商业秘密丧失"扩展到了"能力边界的公众审视"。这是一种全新的暴露——不是代码在裸奔,是意图在裸奔。