乐于分享
好东西不私藏

51万行代码裸奔!Claude Code源码泄漏全解密

51万行代码裸奔!Claude Code源码泄漏全解密

       

           

AI工具安全事件深度解析

           

51万行代码裸奔!Claude Code源码泄漏事件全解密

           

2026年4月1日 | 黑客茶话会

       

   有史以来火得最快、死得最快的 GitHub 项目诞生了。                 

               

                   2026年3月31日,一个构建配置的疏忽,让 Anthropic 的 Claude Code 全部源码通过 npm 的 source map 文件意外泄露。不到一小时,GitHub 上就出现了万星项目——然后被迫改名、源码全删、借尸还魂。
               

               

                   这不仅仅是一次代码泄漏,背后暴露了什么?我们详细拆解这场 AI 工具生态的”烟花事件”。
               

           

           
           
           

               

🚨 事件规模

               
               

                   

                       51.2
                       万行代码
                   

                   

                       1,906
                       个源文件
                   

                   

                       59.8MB
                       Source Map
                   

                   

                       11,300
                       1小时内Star数
                   

               

               
               

                   核心事实: 2026年3月31日,安全研究员 Chaofan Shou 在 Anthropic 的 npm 包中发现了一个 59.8MB 的 source map 文件。通过这个文件,攻击者可以完整还原出 Claude Code CLI 工具的全部 TypeScript 源码——1906 个文件、51.2 万行代码,一个不少。
               

           

           
           
           

               

🔍 怎么泄露的

               
               

                   根本原因很简单:一个没被删除的调试文件。
               

               
               

                   现代 JavaScript/TypeScript 开发中,构建工具会生成 source map 文件(`.map`)用于调试。这个文件的核心价值是把压缩/混淆后的代码映射回原始源码。
               

               
               

// Source map 里的 sourcesContent 字段直接包含了原始源文件内容
“sourcesContent”: [
 “// QueryEngine.ts 的完整代码”,
 “export class QueryEngine { … }”
]
               

               
               

                   正常发布流程中,`.map` 文件应该被排除。Claude Code 使用 Bun 作为打包工具,Bun 默认生成 source map。这次泄漏的直接原因:构建配置没有清理 .map 文件,把它一起发到了 npm registry。
               

               
               

                   ⚠️ 历史重演:这不是第一次了。2025年2月,Claude Code 因同一原因泄漏过一次源码。一年后,同样的错误再次发生。
               

           

           
           
           

               

📦 源码里面有什么

               
               

                   看起来 Claude Code 只是一个终端 AI 助手。看源码会发现,工程复杂度远超想象。
               

               
               

                   

                       

🔧 工具系统 – 40+ 权限控制工具

                       

                           每个能力都是独立模块:文件读写、Shell执行、代码搜索、网页访问、Jupyter编辑、MCP接口等。每个工具有 4 层权限模型(默认交互/自动决策/跳过检查/完全拒绝),风险分级系统。
                       

                   

                   
                   

                       

🧠 KAIROS – 常驻后台助手

                       

                           从未公开的隐藏模式。不需用户输入,能主动执行任务。有 15 秒阻塞预算限制。配备 3 个独有工具:推送文件、发通知、订阅 PR 动态。
                       

                   

                   
                   

                       

💭 Dream 记忆系统

                       

                           每 24 小时自动整合一次记忆文件。后台子 Agent 将新信息归档、删除过时内容、精简到 200 行以内。源码提示词:”你正在做一次梦,对记忆文件进行反思性回顾”。
                       

                   

                   
                   

                       

🤖 Coordinator – 多 Agent 编排

                       

                           完整的多 Agent 系统。能同时管理多个工作 Agent 并行执行。四阶段工作流:调查 → 综合 → 实施 → 验证。
                       

                   

                   
                   

                       

🪄 ULTRAPLAN – 远程规划

                       

                           把复杂规划卸载到远程容器。支持 Opus 4.6 模型,最多 30 分钟思考时间,3秒轮询一次结果。
                       

                   

                   
                   

                       

🐾 Buddy – 电子宠物

                       

                           终端里的 ASCII 宠物。18 个物种、5 个稀有度、1% 闪光概率。计划 2026 年 5 月正式上线。已经完全开发完毕。
                       

                   

                   
                   

                       

🕵️ 内部员工保护模式

                       

                           Anthropic 员工在公开仓库工作时自动启用。禁止在 commit 和 PR 中出现内部模型代号(Capybara、Tengu 等)、未发布版本号、项目名称。
                       

                   

               

               
               

                   入口文件 `main.tsx` 就有 785KB,整个代码库包含 40+ 独立工具、46,000 行查询引擎、完整 Agent 编排系统
               

           

           
           
           

               

🔐 源码里的秘密

               
               

  •                    
  • 内部代号曝光: Claude Code 的项目名叫”天狗”(Tengu),大量特性开关都用 `tengu_` 前缀。
  •                    
  • 快速模式的真名: 所谓”Fast Mode”内部叫”Penguin Mode”,API 端点直接写的是 `claude_code_penguin_mode`。
  •                    
  • 未来模型代号: migrations 目录暴露了 Fennec(耳廓狐)——某个 Opus 版本的内部代号。
  •                    
  • 计算机使用工具的代号: Computer Use 内部叫”Chicago”,基于 `@ant/computer-use-mcp` 实现,仅限 Max/Pro 用户。
  •                    
  • 未发布特性: `redact-thinking`(隐藏思考)、`afk-mode`(离开模式)、`advisor-tool`(顾问工具)等头信息。
  •                    
  • 账号验证机制: 每个 API 请求都带 `x-anthropic-billing-header`,验证来源是正版 Claude Code。
  •                

           

           
           
           

               

📅 事件时间线

               
               

                   

                       

3月26日

                       

                           Anthropic CMS 配置错误,3000 个未发布资产被公开。包括关于未发布模型”Mythos”(内部代号 Capybara)的草稿文章。Fortune 报道后修复。
                       

                   

                   
                   

                       

3月31日 00:21 UTC

                       

                           npm 生态另一起事件:axios 被劫持。攻击者发布带毒版本 1.14.1,通过依赖投毒传播 RAT。2-3小时后被移除。(注:与 Claude Code 泄漏无关的独立事件)
                       

                   

                   
                   

                       

3月31日 白天

                       

                           Chaofan Shou 发现 @anthropic-ai/claude-code v2.1.88 包中的 source map 文件。整个 TypeScript 源码 51.2 万行可公开下载。
                       

                   

                   
                   

                       

3月31日(1小时内)

                       

                           GitHub 备份仓库 `instructkr/claude-code` 突破 11,300 star、17,300 fork。fork 数比 star 数还多——大家的第一反应是先存一份备份。
                       

                   

                   
                   

                       

随后

                       

                           GitHub 接到 DMCA 投诉。仓库改名为 `claw-code`,源码全部删除。开发者基于泄漏源码做 Python 重写,把原始代码变成了”开源 Agent 框架”的借口。
                       

                   

               

           

           
           
           

               

🚨 npm 生态同日双雷:Axios 供应链攻击

               
               

                   3月31日不仅有 Claude Code 泄露,npm 生态还发生了另一起严重事件。很多人搞混了,这里理清楚:
               

               
               

                   Axios 供应链攻击: axios 是 JavaScript 最常用 HTTP 库(周下载 1 亿+)。攻击者劫持了主维护者账号,发布了两个带毒版本:1.14.1 和 0.30.4。通过依赖注入了 `plain-crypto-js` 包,该包会在安装时执行脚本,投放 macOS/Windows/Linux 三平台的远程访问木马(RAT),然后自删。整个攻击时间线精密:干净版 4.2.0 建立可信度(18小时后)→ 带毒 4.2.1(20分钟后)→ 带毒 axios@1.14.1(39分钟后)→ 被发现移除(2-3小时)。
               

               
               

                   两件事完全独立:
               

               

  •                    
  • axios:主动恶意攻击(账号被劫持)
  •                    
  • Claude Code:被动配置疏忽(忘删 .map 文件)
  •                

           

           
           
           

               

😅 讽刺时刻

               

                   

                       💬 2026年1月27日,Bun 作者 Boris Cherny 在 X 上:
                   

                   

                       “我们100%代码是由 Claude Code + Opus 4.5 生成的。我这两个多月一个都是 100%。我昨天发了 22 个 PR,27 个前两天,每一个都是 Claude 写的。我都不手工编辑。”
                   

                   

                       — Boris Cherny (@bherny)
                   

                   

                       📍 仅三个月后的 2026年3月31日:
                   

                   

                       Claude Code 源码全部泄漏。51.2 万行代码、1906 个源文件、40+ 工具系统、隐藏特性全暴露。”100% Claude Code 生成”的工具本身的源码,被互联网永久保存。
                   

               

               

                   🎭 讽刺之处: 用 Claude Code 写的工具,遭遇了 Claude Code 历史上最严重的安全事故。自己打脸的效果,拉满。
               

           

           
           
           

               

🔄 后续反应与借尸还魂

               
               

                   事件发生后,李不凯在 X 上紧急提醒:Fork 了 instructkr/claude-code 的开发者,千万不要 sync upstream!——因为仓库已被删除,同步会把好不容易存下来的源码同步没了。
               

               
               

                   同时,仓库从”claude-code”改名为”claw-code”(去掉中文特色的”爪”),宣传变成了”Python 移植版”、”开源 Claude Code Agent 框架”。实际上就是把泄漏的 TypeScript 代码重写成 Python。
               

               
               

                   GitHub 也因为版权问题逐步清理了大量备份仓库。但互联网永不忘记——代码早就备份到了全球各地。
               

           

           
           
           

               

💡 工程启示

               
               

                   这次泄漏暴露的不是代码漏洞,而是发布流程的基础缺陷:
               

               
               

  1.                    
  2. npm 包发布前必检查: 在 `.npmignore` 中明确排除 `.map` 文件;或在 `package.json` 的 `files` 字段中明确列出需打包的文件。
  3.                    
  4. CI/CD 流水线补缺: 加入 source map 检查步骤。使用 `npm pack –dry-run` 预览打包内容。
  5.                    
  6. 构建工具配置: Bun 默认生成 source map,需显式关闭。
  7.                    
  8. 同样的坑踩两次: 2025年2月同一原因泄漏,2026年3月重复发生。说明 Anthropic 的事故审查制度可能存在问题。
  9.                

           

           
           
           

               

🛡️ 对开发者的启示

               
               

                   三个层面的安全教训:
                   

  •                        
  • 个人开发者: 养成习惯——发 npm 包前跑 `npm pack` 预览。不让 `.map`、`.ts`、`node_modules` 等调试文件进生产包。
  •                        
  • 企业级系统: 闭源工具的源码始终有泄漏风险。评估风险时假设代码可能被审查、数据可能被收集。
  •                        
  • 安全体系: 同一类问题重复发生,说明事故根因分析不到位。要建立长期的学习机制,不只是紧急修复。
  •                    

               

           

           
           
           

               

📌 结语

               
               

                   51 万行代码在公网上”裸奔”24 小时的故事告诉我们:
               

               
               

                   ✨ 看起来最简单的配置错误,可能暴露最核心的秘密。
                   ✨ 有史以来火得最快的项目(1小时万星),也是死得最快的。
                   ✨ 互联网没有真正的”秘密”——被泄漏的东西,总有人会保存下来。
               

               
               

                   对 Anthropic 来说,这是连续第二次因配置错误的安全事故。两次错误的共同点:都不是黑客攻击,都是工程体系的疏忽。这提醒所有 AI 工具开发者——规程看似烦琐,但往往是最后的防线。
               

           

           
           

⊙ ⊙ ⊙

           
           

               

                   本文基于公开信息整理,包括 GitHub、Hacker News、Twitter/X 等平台的讨论。
                   不涉及未经授权的技术细节或敏感数据处理。
               

           

       

       
       

           

黑客茶话会

           

分享安全事件深度解读、攻防技术干货、供应链风险分析

           

Copyright © 2026 黑客茶话会