51万行代码裸奔!Claude Code源码泄漏全解密
51万行代码裸奔!Claude Code源码泄漏事件全解密
有史以来火得最快、死得最快的 GitHub 项目诞生了。
2026年3月31日,一个构建配置的疏忽,让 Anthropic 的 Claude Code 全部源码通过 npm 的 source map 文件意外泄露。不到一小时,GitHub 上就出现了万星项目——然后被迫改名、源码全删、借尸还魂。
这不仅仅是一次代码泄漏,背后暴露了什么?我们详细拆解这场 AI 工具生态的”烟花事件”。
万行代码
个源文件
Source Map
1小时内Star数
根本原因很简单:一个没被删除的调试文件。
现代 JavaScript/TypeScript 开发中,构建工具会生成 source map 文件(`.map`)用于调试。这个文件的核心价值是把压缩/混淆后的代码映射回原始源码。
“sourcesContent”: [
“// QueryEngine.ts 的完整代码”,
“export class QueryEngine { … }”
]
正常发布流程中,`.map` 文件应该被排除。Claude Code 使用 Bun 作为打包工具,Bun 默认生成 source map。这次泄漏的直接原因:构建配置没有清理 .map 文件,把它一起发到了 npm registry。
看起来 Claude Code 只是一个终端 AI 助手。看源码会发现,工程复杂度远超想象。
每个能力都是独立模块:文件读写、Shell执行、代码搜索、网页访问、Jupyter编辑、MCP接口等。每个工具有 4 层权限模型(默认交互/自动决策/跳过检查/完全拒绝),风险分级系统。
从未公开的隐藏模式。不需用户输入,能主动执行任务。有 15 秒阻塞预算限制。配备 3 个独有工具:推送文件、发通知、订阅 PR 动态。
每 24 小时自动整合一次记忆文件。后台子 Agent 将新信息归档、删除过时内容、精简到 200 行以内。源码提示词:”你正在做一次梦,对记忆文件进行反思性回顾”。
完整的多 Agent 系统。能同时管理多个工作 Agent 并行执行。四阶段工作流:调查 → 综合 → 实施 → 验证。
把复杂规划卸载到远程容器。支持 Opus 4.6 模型,最多 30 分钟思考时间,3秒轮询一次结果。
终端里的 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月31日不仅有 Claude Code 泄露,npm 生态还发生了另一起严重事件。很多人搞混了,这里理清楚:
两件事完全独立:
- 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 生成”的工具本身的源码,被互联网永久保存。
事件发生后,李不凯在 X 上紧急提醒:Fork 了 instructkr/claude-code 的开发者,千万不要 sync upstream!——因为仓库已被删除,同步会把好不容易存下来的源码同步没了。
同时,仓库从”claude-code”改名为”claw-code”(去掉中文特色的”爪”),宣传变成了”Python 移植版”、”开源 Claude Code Agent 框架”。实际上就是把泄漏的 TypeScript 代码重写成 Python。
GitHub 也因为版权问题逐步清理了大量备份仓库。但互联网永不忘记——代码早就备份到了全球各地。
这次泄漏暴露的不是代码漏洞,而是发布流程的基础缺陷:
- npm 包发布前必检查: 在 `.npmignore` 中明确排除 `.map` 文件;或在 `package.json` 的 `files` 字段中明确列出需打包的文件。
- CI/CD 流水线补缺: 加入 source map 检查步骤。使用 `npm pack –dry-run` 预览打包内容。
- 构建工具配置: Bun 默认生成 source map,需显式关闭。
- 同样的坑踩两次: 2025年2月同一原因泄漏,2026年3月重复发生。说明 Anthropic 的事故审查制度可能存在问题。
- 个人开发者: 养成习惯——发 npm 包前跑 `npm pack` 预览。不让 `.map`、`.ts`、`node_modules` 等调试文件进生产包。
- 企业级系统: 闭源工具的源码始终有泄漏风险。评估风险时假设代码可能被审查、数据可能被收集。
- 安全体系: 同一类问题重复发生,说明事故根因分析不到位。要建立长期的学习机制,不只是紧急修复。
51 万行代码在公网上”裸奔”24 小时的故事告诉我们:
✨ 看起来最简单的配置错误,可能暴露最核心的秘密。
✨ 有史以来火得最快的项目(1小时万星),也是死得最快的。
✨ 互联网没有真正的”秘密”——被泄漏的东西,总有人会保存下来。
对 Anthropic 来说,这是连续第二次因配置错误的安全事故。两次错误的共同点:都不是黑客攻击,都是工程体系的疏忽。这提醒所有 AI 工具开发者——规程看似烦琐,但往往是最后的防线。
本文基于公开信息整理,包括 GitHub、Hacker News、Twitter/X 等平台的讨论。
不涉及未经授权的技术细节或敏感数据处理。
黑客茶话会
分享安全事件深度解读、攻防技术干货、供应链风险分析
Copyright © 2026 黑客茶话会
夜雨聆风