乐于分享
好东西不私藏

Claude Code 源码泄露事件:一场价值 25 亿美元的"意外"

Claude Code 源码泄露事件:一场价值 25 亿美元的"意外"

Claude Code 源码泄露事件:一场价值 25 亿美元的”意外”

事件全景:从 npm 发布到全球扩散的 72 小时

泄露经过

2026 年 3 月 31 日凌晨,Anthropic 在发布 Claude Code 2.1.88 版本时,意外将一个 59.8 MB 的 JavaScript source map 文件cli.js.map)打包进 npm 包 @anthropic-ai/claude-code

这个本应用于内部调试的 source map 文件,包含了 51.2 万行未混淆的 TypeScript 源码,横跨 1,906 个文件。由于 source map 的映射机制,攻击者可以直接将压缩后的代码还原为可读性极高的原始源码。 时间线:

• 4:23 UTC:Solayer Labs 实习生 Chaofan Shou 在 X 平台发布发现,附带直接下载链接

• 数小时内:代码被镜像至 GitHub,多个仓库开始传播

• 同日:Anthropic 确认泄露,声明为”人为失误导致的打包问题,非安全漏洞”

• 后续:Anthropic 向 GitHub 提交 DMCA 下架请求,导致 8000+ 克隆仓库一度被移除,但随后 Anthropic 承认”范围过大”并撤回部分请求

Anthropic 官方回应

Anthropic 发言人通过邮件向 VentureBeat 确认:

“今日早些时候,Claude Code 的一次发布意外包含了部分内部源代码。没有敏感客户数据或凭证被泄露或暴露。这是人为失误导致的发布打包问题,而非安全漏洞。我们正在推出措施以防止此类事件再次发生。”

值得注意的是,Anthropic 官方文档已将 npm 安装方式标记为 “deprecated”(已弃用),并推荐使用原生安装脚本(curl -fsSL https://claude.ai/install.sh | bash)。


泄露了什么:不止于代码的”全景解剖”

技术架构暴露

泄露的源码揭示了 Claude Code 的核心技术实现,包括:

1. 三层记忆架构(Self-Healing Memory)

• MEMORY.md:轻量级索引文件(每行约 150 字符),存储指向实际数据的指针

• 主题文件(Topic Files):按需加载的项目知识库

• 原始转录:通过 grep 检索而非完整加载,避免上下文膨胀

这种设计解决了 AI Agent 长期运行中的”上下文熵增”问题——即随着会话复杂度增加,模型容易产生混淆或幻觉。

2. KAIROS 自主守护模式

源码中 150+ 处提及的 “KAIROS”(古希腊语”恰当时机”)代表一个始终在线的后台 Agent 模式

• 用户闲置时自动执行”记忆整合”(autoDream)

• 合并离散观察、消除逻辑矛盾、将模糊洞察转化为确定性事实

• 使用 fork 子代理执行维护任务,防止主代理的”思维流”被打断

3. 46,000 行查询引擎

• 通过三层压缩管理上下文

• 编排 40+ 工具,每个工具具备独立 schema 和细粒度权限检查

• 2,500 行 bash 安全验证逻辑,包含 23 项顺序检查

4. 未发布模型与性能指标

泄露代码确认了 Anthropic 内部模型代号:

• Capybara:Claude 4.6 变体的内部代号

• Fennec:Opus 4.6 的映射

• Numbat:仍在测试中的未发布模型

内部注释显示,Capybara v8 的”虚假陈述率”高达 29-30%,相比 v4 的 16.7% 出现明显回退。

5. “Undercover Mode”(卧底模式)

一个引发广泛讨论的功能:系统提示明确要求模型在提交代码时不得透露 Anthropic 内部信息,包括:

“You are operating UNDERCOVER… Your commit messages… MUST NOT contain ANY Anthropic-internal information. Do not blow your cover.”

这意味着 Anthropic 可能使用 Claude Code 对开源项目进行” stealth 贡献”,而无需披露 AI 参与。

6. 44 个功能标志(Feature Flags)

泄露源码包含 44 个功能标志的完整列表,揭示了正在开发但未发布的功能,包括多代理编排、远程代码执行、AI 调度后台任务等。


安全分析:泄露带来的三重攻击路径

安全公司 Straiker 的技术分析(作者 Jun Zhou)指出,源码泄露使三类原本理论化的攻击路径变为实际可操作

路径一:上下文投毒(Context Poisoning)

Claude Code 通过四阶段级联管理上下文压力:

1. 工具结果预算(tool result budgeting)

2. 微压缩(microcompact)

3. 上下文折叠(context collapse)

4. 自动压缩(autocompact)

关键发现:

• MCP 工具结果永不微压缩

• 读取工具结果跳过预算限制

• 自动压缩提示会”清洗”注入内容,将其保留为”用户反馈”

攻击方式:在克隆的仓库中植入恶意 CLAUDE.md 文件,其中的指令可存活压缩过程,最终被模型视为合法用户指令执行。

路径二:沙箱绕过(Sandbox Bypass)

Claude Code 的 bash 权限系统使用三个独立解析器处理命令:

1. splitCommand_DEPRECATED

2. tryParseShellCommand

3. ParsedCommand.parse

关键发现:

• 提前允许短路:某些验证器返回 allow 时会跳过所有后续检查

• 三解析器差异:例如 shell-quote 将回车符视为单词分隔符,而 bash IFS 不包含回车符

• 非误解析结果可丢弃:当 validateRedirections 捕获危险操作但无”误解析”验证器触发时,警告可能被丢弃

攻击方式:构造利用解析器差异的 bash 命令,绕过安全验证链。

路径三:供应链攻击(Supply Chain Attack)

泄露的 MCP 服务器接口契约使攻击者能够:

• 创建与官方接口完全匹配的恶意 MCP 服务器

• 发布至 npm 的数据外泄服务器,与合法工具难以区分

• 利用泄露的权限模型设计针对性的权限提升攻击

巧合的时间线:在源码泄露前几小时,axios npm 包的恶意版本(含远程访问木马)恰好上线。3 月 31 日 00:21 至 03:29 UTC 期间通过 npm 安装 Claude Code 的用户,可能同时拉取了泄露源码和 axios 恶意软件。


GitHub 扩散与 DMCA 困境

8000+ 克隆仓库的”野火效应”

泄露发生后,GitHub 上迅速出现大量克隆和改写版本:

• 直接克隆:完整复制泄露源码的仓库

• 语言改写:使用其他 AI 工具将 Claude Code 功能改写为 Rust、Python 等语言的版本

• 功能分叉:基于泄露代码添加新功能或移除限制的”增强版”

Anthropic 的 DMCA 下架请求反而产生了”Streisand 效应”——试图压制信息的举动反而引起更广泛关注。虽然 8000+ 仓库一度被移除,但 Anthropic 随后承认”范围过大”并撤回部分请求,GitHub 已恢复受影响 fork 的访问。

开源生态的复杂反应

社区对泄露事件的反应呈现两极分化:

支持 Anthropic 的声音:

• 认为这是意外事故,不应过度惩罚

• 强调 Anthropic 在 AI 安全领域的贡献

• 呼吁尊重知识产权,不传播泄露代码

批评与担忧:

• 质疑 Anthropic 的发布流程和安全审查

• 指出这是 5 天内第二次泄露事件(3 月 26 日曾因 CMS 配置错误泄露近 3000 份未发布内部资产)

• 担忧”Undercover Mode”的伦理 implications

开发者实用主义:

• 大量开发者下载泄露代码用于学习和研究

• 有人使用 Codex 等工具分析源码并修复 Claude Code 的 token 消耗问题

• 社区文档站点(claude-code-info.vercel.app)迅速建立,整理泄露代码的结构和功能


行业影响:Agent 时代的”底牌”被掀开

竞争格局的重塑

Claude Code 是 AI 编程 Agent 领域的标杆产品,市场数据显示:

• ARR(年度经常性收入):25 亿美元(2026 年 3 月数据),较年初翻倍

• 企业客户占比:80% 的收入来自企业用户

• 估值:Anthropic 最新估值达 3800 亿美元

泄露为竞争对手提供了”蓝图”:

• Cursor、GitHub Copilot 等竞品:可直接研究 Claude Code 的记忆管理、权限系统、多代理编排实现

• 创业公司:获得了一份价值数十亿美元的”免费教材”,大幅降低研发成本

• 开源社区:出现多个”Claude Code 替代品”项目,部分基于泄露代码的逆向工程

AI 安全的新挑战

CrowdStrike CTO Elia Zaitsev 在 RSAC 2026 上评论:

“不要把 Agent 的权限给得太多,仅仅因为你懒。只给它完成工作所需的最低权限… 开放式编码 Agent 特别危险,因为它们的威力来自广泛的访问权限。”

泄露验证了这种担忧:当 Agent 的内部防御机制被公开,攻击者可以针对性地设计绕过策略。

知识产权的灰色地带

Gartner 指出一个被多数报道忽略的细节:Claude Code 90% 的代码由 AI 生成。根据美国版权法要求”人类作者身份”的标准,泄露代码的知识产权保护可能被削弱。

2026 年 3 月,美国最高法院拒绝重新审视”人类作者身份”标准。这意味着:

• 所有使用 AI 生成代码的组织都面临类似的 IP 暴露风险

• 泄露代码的法律地位存在争议

• 竞争对手可能利用泄露代码而不承担严重的法律后果


开发者应对建议

立即行动

1. 检查安装时间:如在 2026 年 3 月 31 日 00:21-03:29 UTC 期间通过 npm 安装 Claude Code,检查 package-lock.json 中是否存在 axios 1.14.1/0.30.4 或 plain-crypto-js 依赖

2. 迁移至原生安装:运行 claude install 从 npm 迁移至原生安装

3. 轮换 API 密钥:通过 Anthropic 开发者控制台轮换 API 密钥

4. 监控异常使用:关注 API 使用量是否出现异常

安全最佳实践

1. 审计 CLAUDE.md 文件:对克隆的仓库中的 CLAUDE.md 和 .claude/config.json 保持警惕

2. 限制 MCP 服务器:将 MCP 服务器视为不可信依赖,固定版本并监控变更

3. 避免宽泛权限规则:如 Bash(git:*) 等过于宽松的权限设置

4. 限制会话时长:敏感工作缩短会话时长,减少压缩攻击窗口

5. 禁用危险功能:绝不在共享或生产环境使用 dangerouslyDisableSandbox

企业级防护

• 零信任架构:假设任何克隆的仓库都可能包含恶意配置

• 供应链审计:将 AI 编程工具纳入供应链安全审查范围

• 内部政策:制定 AI 辅助代码的披露政策,避免”Undercover Mode”带来的审计风险


结语:泄露之后,Agent 时代何去何从?

Claude Code 源码泄露不仅是一次安全事故,更是 AI Agent 时代的”成人礼”。它揭示了:

1. 技术复杂性与安全性的矛盾:Agent 系统越复杂,潜在的攻击面越广

2. 开源与闭源的模糊边界:即使标榜闭源的产品,也可能因意外而”被迫开源”

3. AI 生成代码的治理挑战:当代码主要由 AI 生成,传统的知识产权和安全模型需要重新审视

对于 Anthropic 而言,这是一次代价高昂的教训。但对于整个行业,它提供了难得的学习机会——让我们得以窥见最前沿 Agent 系统的内部运作,并据此构建更安全的未来。

正如 Straiker 分析所言:”攻击面暴露的不是 Claude 特有的问题,而是 Agentic AI 系统性漏洞的窗口。”在 Agent 时代,安全不再是可选功能,而是产品设计的核心维度。