2026 年 3 月 31 日,AI 圈迎来了一场意想不到的"愚人节前夕大礼":Anthropic 旗下明星产品 Claude Code 的全部源代码,因一个打包失误意外流向了互联网。

这不是黑客攻击,不是内鬼泄密,而是有人忘记在 .npmignore 里加了一行 *.map

就这样,51 万行 TypeScript 代码、44 个隐藏功能开关、以及一个叫做 KAIROS 的神秘"后台自主代理",在几小时内暴露在所有人面前。

事件经过:一个 .map 文件引发的雪崩

泄露是如何发生的?

2026 年 3 月 31 日,Anthropic 在 npm 上发布了 @anthropic-ai/claude-code2.1.88 版本。这次更新本是例行维护,但却附带了一个巨大的"彩蛋"——一个 59.8 MB 的 JavaScript Source Map 文件.map 后缀)。

Source Map 是开发者用于调试压缩/混淆代码的工具,它能将编译后的代码映射回原始的 TypeScript 源码。正是这个本应只存在于内部的调试文件,被意外打入了公开发布的 npm 包里。

更关键的是,这个 .map 文件还指向了一个 Anthropic 自家云存储上的 ZIP 压缩包,里面存放着完整的源代码仓库。所有人只需要顺着这条线索,就能下载到全部代码。

根本原因:有人忘记在 .npmignore 文件中添加 *.map 规则,导致 Source Map 文件随包一起发布。

传播有多快?

代码在公开后数小时内便被开发者社区察觉,随即被备份到 GitHub 上。根据 Layer5 的统计,相关仓库的 Fork 数量迅速突破 41,500 次,一度成为 GitHub 历史上增长最快的仓库

Anthropic 很快确认了这一事件,但表示这只是一次"发布打包失误",没有泄露用户数据或凭证信息。

泄露的内容:512,000 行代码里藏着什么?

源代码共包含 1,906 个 TypeScript 文件,整个 AI 圈的开发者和研究者们开始像考古学家一样,在代码里挖掘 Anthropic 从未公开过的秘密。

秘密一:KAIROS —— 始终在线的自主 AI 代理

这是泄露内容中最受关注的发现之一。代码中一个名为 KAIROS 的功能标志被提及超过 150 次

KAIROS 来自古希腊语,意为"恰当的时机"。从代码逻辑来看,它代表着 Claude Code 的一次重大范式转变:从被动响应变为主动的后台自主守护进程(Daemon)

具体来说,KAIROS 模式包含一个叫做 autoDream 的子机制:当用户处于空闲状态时,Claude 会在后台自动进行"记忆整合",将分散的观察合并、消除逻辑矛盾,并将模糊的认知转化为具体的知识。

这本质上是让 AI 拥有了一种持续学习和自我优化的能力——不仅是在你主动使用时,而是随时随地都在运转。

秘密二:BUDDY —— 一只赛博电子宠物

是的,你没看错。代码里藏着一个完整的电子宠物系统,叫做 BUDDY

它有:

  • 18 个物种可供选择
  • 稀有度分级:普通(60%)→ 稀有 → 史诗 → 传说(1%)
  • 闪光变体(类似宝可梦的色违)
  • 专属属性值,包括 DEBUGGING(调试力)、PATIENCE(耐心)、CHAOS(混乱值)、WISDOM(智慧)和 SNARK(毒舌度)

根据代码注释,BUDDY 原本计划作为愚人节彩蛋于 4 月 1 日悄悄上线预告,并在 5 月正式发布。结果,在 3 月 31 日就被这次意外泄露提前"剧透"了——时机不可谓不讽刺。

秘密三:隐身模式 —— Anthropic 员工的"马甲"

代码中还发现了一个被称为"隐身模式"(Stealth Mode)的功能,其设计目的是隐藏 Anthropic 员工对开源项目的贡献

简单来说,当 Anthropic 工程师使用 Claude Code 向开源社区提交代码时,该模式会对外屏蔽其 Anthropic 员工的身份。这一发现在开源社区引发了一定的讨论和争议。

秘密四:反蒸馏机制 —— 给竞争对手的"毒药"

代码中的 ANTI_DISTILLATION_CC 功能标志揭示了一个更具攻击性的策略:向 API 请求中注入虚假的工具定义

其目的在于污染那些监听 API 流量、试图通过"知识蒸馏"来学习和复制 Claude 能力的竞争对手的训练数据。此外,代码还会对 AI 的推理过程进行摘要并附上加密签名,使得窃听者只能获取摘要,而非完整的思维链输出。

安全警告:趁火打劫的黑客

意外泄露事件本身危害有限,但随之而来的安全风险不可小觑。

Axios npm 遭投毒:北朝鲜黑客的精准狙击

就在同一天(3 月 31 日),黑客攻陷了流行 HTTP 库 Axios 的 npm 账号,发布了两个恶意版本(1.14.10.30.4)。这些版本通过一个名为 plain-crypto-js 的隐藏依赖,植入了一个跨平台远程访问木马(RAT)

恶意版本在被 npm 下架前存活了约 2-3 小时

Google 威胁情报团队将此次攻击归因于 UNC1069——一个具有朝鲜背景的、以经济利益为驱动的威胁行为者,所使用的恶意软件为 WAVESHAPER.V2

高危时间窗口:如果你在 3 月 31 日 00:21 UTC 至 03:29 UTC 之间通过 npm 安装或更新了 Claude Code,你的机器可能已被植入恶意代码。

GitHub 上的假冒仓库

除了 npm 投毒,威胁行为者还在 GitHub 上散布了伪装成"Claude Code 源代码镜像"的恶意仓库。这些仓库诱骗用户运行一个 Rust 编写的投放程序,最终部署 Vidar Stealer(信息窃取木马)和 GhostSocks(代理恶意软件)。

应急自查步骤

如果你是开发者,请立即执行以下检查:

  1. 检查你的项目 lockfilepackage-lock.jsonyarn.lock),查找 axios 版本 1.14.10.30.4
  2. 检查是否存在 plain-crypto-js 依赖项。
  3. 如果发现上述任一情况,立即将该主机视为已完全沦陷:轮换所有密钥和凭证,并考虑重装操作系统。

影响与反思

对 Anthropic 的影响

这次事件对 Anthropic 的直接损失是竞争情报的泄露。KAIROS、反蒸馏机制等未发布的战略功能,已被竞争对手和研究者提前看到。

但从另一个角度看,Anthropic 的处理方式——快速承认、如实说明原因——在一定程度上维护了公众信任。

对供应链安全的警示

这次事件是一个关于 软件供应链安全 的经典案例:

  • 开发侧:一个被遗忘的打包规则(.npmignore)可以造成灾难性的信息泄露。
  • 攻击侧:黑客能够以惊人的速度(同日)利用高关注度事件实施供应链攻击。
  • 用户侧:在重大事件发酵期间,来自"官方渠道"之外的任何下载都极度危险。

这提醒每一个维护开源项目的团队:发布流程的审计和自动化检查,与代码本身的质量同等重要。

结语

Claude Code 源代码泄露事件,是 2026 年 AI 领域最戏剧性的事故之一。它以一种意想不到的方式,让公众得以一窥顶尖 AI 工具背后的工程逻辑与产品野心——从重塑人机交互范式的 KAIROS,到充满极客趣味的电子宠物 BUDDY。

然而,伴随着这场意外透明化而来的,是供应链攻击的真实威胁。它再次提醒我们:在这个软件高度依赖开源生态的时代,安全从来不只是代码里的事,更是发布流程、依赖管理和应急响应能力的综合体现。


延伸阅读: