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 时代,安全不再是可选功能,而是产品设计的核心维度。
夜雨聆风