文章总结: 2026年3月31日,Anthropic的ClaudeCodeCLI工具因构建配置疏忽,将包含完整TypeScript源码的59.8MBsourcemap文件发布至npmregistry,导致51.2万行代码、1906个源文件泄露。泄露内容包含40+权限控制工具、未公开的Kairos后台助手、多Agent协调系统及未发布特性。事件暴露了发布流程中未排除调试文件、CI/CD缺乏安全检查、同一错误在2025年2月后重复发生等工程体系缺陷,为开发者提供了npm包发布前检查、构建工具配置显式关闭sourcemap、企业级系统假设代码可能被审查的安全启示。 综合评分: 88 文章分类: 数据泄露,安全建设,应用安全,供应链安全,漏洞预警
51万行代码裸奔!Claude Code源码泄漏全解密
HackerTalk HackerTalk
黑客茶话会
2026年4月1日 10:09 山东
在小说阅读器读本章
去阅读
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分钟后)→ 带毒 [email protected](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 也因为版权问题逐步清理了大量备份仓库。但互联网永不忘记——代码早就备份到了全球各地。
💡 工程启示
这次泄漏暴露的不是代码漏洞,而是发布流程的基础缺陷:
- 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 黑客茶话会
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:黑客茶话会 HackerTalk HackerTalk《51万行代码裸奔!Claude Code源码泄漏全解密》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论