Anthropic Claude 代码泄露:深度解析源代码及其影响

Avatar
Lisa Ernst · 01.04.2026 · 人工智能 · 12 分钟

数字世界常常在一种控制的幻觉下运作,这是一种精心策划的复杂系统外壳。2026 年 3 月 31 日,随着领先的 AI 公司之一 Anthropic 的 Claude Code 命令行界面(CLI)工具的全部源代码意外公开,这种外壳短暂地崩溃了。这并非一次恶意的黑客攻击,而是一个简单的疏忽,被开发人员的自然好奇心和在线平台的普遍互联性所放大。

快速摘要:Claude 代码泄露的关键要点

Anthropic 的 Claude Code 源代码意外泄露,揭示了关键见解并引发了重要问题。以下是简要概述:

剖析 Anthropic Claude 代码泄露事件

2026 年 3 月 31 日,Anthropic 的 CLI 工具 Claude Code 的源代码意外公开,这一事实被 The Register 等媒体广泛报道。问题的核心是一个 Source Map 文件,该文件被意外发布在 npm 注册表上,正如 The Decoder 所详述。安全专家 Chaofan Shou 于 X(原 Twitter) 上首次公开报道了这一发现。

Chaofan Shou 肖像

来源: usethebitcoin.com

安全专家 Chaofan Shou 最初报道了 Anthropic 的 Claude Code 源代码意外公开,引起了公众的关注。

在这一消息的立即影响下,一个完整的代码库快照出现在一个名为 instructkr/claude-code 的公共 GitHub 存储库中,这一事实得到了 dev.to 的证实。据 Heise.

称,这个镜像的代码量很大,包含大约 1,900 个文件,总计超过 512,000 行。Claude Code 被设计为一个命令行工具,使开发人员能够使用自然语言与 Anthropic 的 AI 模型进行交互,正如 Silicon Republic 所报道的那样。它可以帮助完成编辑文件或执行命令等任务。Source Maps 通常用于调试,有助于将压缩的代码链接回其原始源文件,正如 dev.to 所解释的那样。当这些文件意外包含在已发布的包中时,它们可能会暴露完整的、未压缩的源代码。根据 dev.to 的说法,在此次特定事件中,`@anthropic-ai/claude-code` 包 2.1.88 版本中的 59.8 MB JavaScript Source Map 文件(.map)直接指向了其未压缩的 TypeScript 源文件。npm 发布过程中的错误打包配置被认为是此次暴露的根本原因。

Anthropic 迅速做出回应,从 npm 注册表中移除了有问题的包版本,并用一个不包含暴露的 Source Maps 的干净版本替换。一位公司发言人证实了无意的代码泄露,并向公众保证,没有敏感的客户数据或登录凭据被泄露。Anthropic 将此次事件定性为人为错误造成的打包问题,而不是安全漏洞,并表示正在采取措施防止类似事件再次发生。

正如 The Register 所报道的那样,此次泄露特别值得注意的是,这是 Anthropic 第三次在 npm 注册表中犯下同样的 Source Maps 错误。Claude Code 的早期版本在 2025 年 2 月曾面临类似的暴露;Anthropic 通过移除旧版本和 Source Map 来解决。然而,这个问题在 2026 年的版本 2.1.88 中再次出现。技术根本原因似乎是 Bun 打包器中的一个已知错误(oven-sh/bun#28001),该错误默认生成 Source Maps,除非显式禁用,否则会导致重复事件,如果未正确配置。

Anthropic Claude 代码泄露中的影响和意外发现

这次泄露的大量代码,包含 1,906 个专有的 TypeScript 源文件,为深入了解 Anthropic 的内部架构提供了前所未有的机会。它暴露了其 API 设计、遥测分析系统、加密工具和进程间通信协议等方面的复杂细节。尽管用户数据和 AI 模型权重保持未暴露,但这种对 Anthropic 内部运作的新透明度为竞争对手提供了重要的见解,并为用户带来了新的安全考虑。

自愈内存和 KAIROS 守护进程

此次泄露最引人注目的发现之一是 Anthropic 复杂的“三层内存架构”,其明确设计用于解决“上下文熵”。与传统的“保存一切”检索方法不同,Claude Code 采用了一个独特的“自愈内存”系统,正如 dev.to 所详述的那样。该系统依赖 `MEMORY.md`,这是一个轻量级的指针索引(每行约 150 个字符),始终加载到模型的上下文中。至关重要的是,该索引存储内存位置,而不是实际数据本身。真正的项目知识分布在“主题文件”中,仅在需要时检索。原始记录永远不会完全重新读取;相反,它们会针对特定标识符进行“grep”。“严格写入纪律”确保代理仅在成功的文件写入操作后更新其索引,防止模型上下文被失败的尝试所污染。代码还明确确认,Anthropic 的代理被指示将其自身的内存视为“提示”,在执行任何操作之前需要与实际代码库进行验证。

此次泄露还揭示了“KAIROS”,这是一个自主守护进程模式,在源代码中被提及超过 150 次,正如 dev.to 所详述的那样。KAIROS 作为一个持续激活的后台代理运行,精心管理后台会话并使用一个名为“autoDream”的过程。当用户不活动时,“autoDream”执行“内存合并”,这是一个复杂的进程,它合并不同的观察结果,解决逻辑矛盾,并将模糊的见解转化为具体的事实。这种后台维护确保了代理的上下文在用户返回时保持干净且高度相关。一个分叉的子代理处理这些任务,关键在于阻止这些例行维护操作污染主代理的“思考过程”。

内部模型路线图

泄露的代码还提供了对 Anthropic 内部模型路线图的一瞥。“Capybara”被揭示为 Claude 4.6 变体的内部代号,而“Fennec”与 Opus 4.6 相关。“Numbat”代表一个仍在测试阶段的模型。代码中的内部注释表明,Anthropic 已经在开发 Capybara v8,该版本显示出显著的 29-30% 的错误声明率——这比 v4 中观察到的 16.7% 的比率有所回归。为了抵消这种影响,“断言计数器”功能旨在防止模型在重构过程中变得过于激进,这凸显了 Anthropic 在平衡性能和准确性方面的努力。

快速查看泄露的模型代号:

代号 相关模型/状态 备注
Capybara Claude 4.6 变体 内部注释显示 v8 的错误声明率为 29-30%(比 v4 的 16.7% 有所回归)。
Fennec Opus 4.6
Numbat 正在测试中的模型
Tengu 证明功能

隐形模式和 Buddy 系统

一项引起伦理质疑的功能是“隐形模式”,正如 dev.to 所强调的那样。该模式表明 Anthropic 使用 Claude Code 对公共开源存储库进行“隐秘”贡献。系统提示明确警告模型:“您正在隐形模式下运行……您的提交消息……不得包含任何 Anthropic 内部信息。不要暴露您自己。”此逻辑确保 Git 日志中不会出现任何模型名称(如‘Tengu’或‘Capybara’)或 AI 归属,从而有效地掩盖了贡献的自动化性质。重要的是,用户无法强制禁用此隐形功能。

您正在隐形模式下运行……您的提交消息……不得包含任何 Anthropic 内部信息。不要暴露您自己。
隐形模式系统提示代码片段

来源: red-gate.com

代码片段明确警告模型有关其“隐形模式”操作,指示其避免在公共提交消息中透露任何 Anthropic 内部信息。

此外,代码还暴露了“Buddy”系统,这是一个类似 Tamagotchi 的终端宠物,具有 CHAOS 和 SNARK 等统计数据,旨在提高用户参与度,这也由 dev.to 发现。物种名称已编码以绕过自动化代码审查,为其内部功能增加了另一层模糊性。

Buddy 系统 Tamagotchi 终端宠物

来源: etsy.com

Buddy 系统是一个类似 Tamagotchi 的终端宠物,具有 CHAOS 和 SNARK 等统计数据,旨在提高用户对 Claude Code 的参与度。

Claude Code 用户的安全风险和建议

Claude Code 源代码泄露给个人用户和企业客户带来了更高的安全风险。随着该工具内部工作机制的详细蓝图现已公开,攻击者可以制造恶意存储库,试图欺骗 Claude Code 执行后台命令甚至窃取数据。此外,在 Claude Code 泄露前几小时,`axios` npm 包发生了另一场独立的供应链攻击。这意味着,如果在 2026 年 3 月 31 日 00:21 至 03:29 UTC 之间通过 npm 安装或更新了 Claude Code,那么可能已在用户系统上安装了一个包含远程访问木马(RAT)的恶意版本的 `axios`。

受影响的用户应立即检查其项目锁文件(如 `package-lock.json`、`yarn.lock` 或 `bun.lockb`),以查找这些可疑的 `axios` 版本或 `plain-crypto-js` 依赖。如果找到任何此类文件,应认为宿主计算机已受感染。所有秘密都必须轮换,并应执行干净的操作系统重新安装以确保完全补救。

安装最佳实践

今后,强烈建议将 Claude Code 的基于 npm 的安装切换到原生安装程序,可以通过 `curl -fsSL https://claude.ai/install.sh | bash` 访问。原生安装程序使用独立的二进制文件,使其不受 npm 依赖链的波动影响。它还支持自动后台更新,这对于接收安全补丁(可能是版本 2.1.89 或更高版本)至关重要。如果无法避免维护 npm 安装,用户应卸载已受损的版本 2.1.88,并明确将安装固定到一个经过验证的安全版本,如 2.1.86。

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

此外,在不熟悉的环境中使用 Claude Code 时,建议采取零信任姿势。在手动审查 `.claude/config.json` 文件和任何自定义钩子是否存在可疑元素之前,避免在刚刚克隆或不受信任的存储库中运行该代理。应通过开发人员控制台频繁轮换 Anthropic API 密钥,并持续监控使用模式是否存在任何异常,从而提供额外的安全层。

常见问题解答(FAQ)

究竟泄露了什么?

此次泄露包含了 Anthropic 的命令行界面(CLI)工具 Claude Code 的全部源代码。这包括 1,906 个专有的 TypeScript 文件,总计超过 512,000 行代码,涵盖内部 API 设计、遥测系统、加密工具和进程间通信协议。

是否泄露了敏感的用户数据或 AI 模型?

根据 Anthropic 的说法,此次事件未泄露任何敏感的客户数据、登录凭据或核心 AI 模型权重。此次泄露主要暴露了 Claude Code 工具的客户端实现。

泄露是如何发生的?

泄露发生的原因是 npm 注册表上的 `@anthropic-ai/claude-code` 包 2.1.88 版本中意外发布了一个 Source Map 文件。npm 发布过程中的错误打包配置(可能与 Bun 打包器的错误有关)被认为是根本原因。这是 Anthropic 第三次犯下此特定错误。

从泄露的代码中最重要的发现是什么?

关键发现包括一个复杂的“三层自愈内存”架构,一个用于后台内存合并的自主“KAIROS”守护进程模式,内部模型代号(例如,Claude 4.6 的“Capybara”),以及一个旨在掩盖 AI 对公共存储库代码贡献来源的“隐形模式”。

用户面临哪些安全风险?

源代码的公开可用性可能使攻击者能够制造恶意存储库,诱骗 Claude Code 执行命令或窃取数据。此外,`axios` npm 包的并发泄露意味着在特定时间窗口(2026 年 3 月 31 日 00:21 至 03:29 UTC)通过 npm 更新 Claude Code 的用户可能已安装了包含远程访问木马(RAT)的恶意 `axios` 版本。

Claude Code 用户应如何保护自己?

用户应将基于 npm 的安装切换到原生安装程序。立即检查项目锁文件是否存在恶意 `axios` 版本(1.14.1 或 0.30.4)或 `plain-crypto-js` 依赖。如果发现,应认为机器已受感染,轮换所有秘密,并执行干净的操作系统重新安装。采取零信任方法,审查配置文件,并频繁轮换 Anthropic API 密钥。

结论

Anthropic 的 Claude Code 源代码意外公开暴露,生动地强调了软件开发和部署中固有的持续挑战,尤其是在快速发展的 AI 领域。尽管 Anthropic 声称没有敏感的用户数据或关键的 AI 模型权重被泄露,但此次泄露为竞争对手提供了 Claude Code 内部工作机制的异常详细的蓝图,包括其复杂的内存管理和多代理工作流,正如 dev.to 全面报道的那样。除了竞争性见解,它还引发了对最终用户的关键安全问题,突显了在管理软件依赖项时保持警惕和遵守最佳实践的绝对必要性。此次事件是一个严峻的提醒,即使是配置文件中一个看似微小的失误,也可能暴露数月专有工作,并在技术社区中引发重大的连锁反应。

分享我们的文章!
来源