突发!Claude Code 完整源码遭意外泄露——一个 .map 文件引发的 AI 行业级工程事故
事件时间:2026 年 3 月 31 日泄露规模:超过 1,900 个文件 · 51.2 万行 TypeScript 代码性质定性:npm 发布配置失误导致的”非自愿开源”
一、事件始末:一个调试文件引发的蝴蝶效应
2026 年 3 月 31 日,AI 公司 Anthropic 在向 npm 官方仓库发布 Claude Code CLI 新版本时,犯下了一个代价高昂的失误——错误地将用于调试的 Source Map(.map)文件打包进了生产版本。
Source Map 是一种将压缩、混淆后的生产代码映射回原始开发代码的文件,原本仅供内部调试使用,绝不应该出现在公开发布的包中。
率先发现这一漏洞的是安全研究员 Chaofan Shou(@Fried_rice),他在 X(原 Twitter)上发文:
“Claude code source code has been leaked via a map file in their npm registry!”
这条推文如同一颗石子投入平静的湖面,迅速在开发者社区掀起巨浪。随后数小时内,社区成员通过该 .map 文件,从 Anthropic 的 R2 存储桶直接下载了完整的 TypeScript 源代码,并在 GitHub 上建立了多个 Mirror 仓库,累计获得数百颗 Star。
Anthropic 已紧急下架了包含 .map 文件的 npm 版本,但为时已晚——源码已在 GitHub、X 和开发者社群中通过克隆仓库、种子文件的方式大范围扩散,无法撤回。
二、泄露规模:几乎等同于”非自愿开源”
此次泄露的代码量极为庞大:
| 维度 | 数据 |
|---|---|
|
|
|
|
|
|
|
|
.map 文件本体) |
|
|
|
三、源码深度解析:我们发现了什么
🧠 3.1 推理中枢:QueryEngine.ts
QueryEngine.ts 是 Claude Code 的心脏,处理与 Claude API 的所有通信,揭示了 Anthropic 如何:
- 管理 Token 上下文窗口
:通过 compact模块自动压缩对话历史,在接近限制时触发上下文压缩 - 实现工具调用循环
:持续循环调用 API → 执行工具 → 返回结果,直到模型不再发出工具调用 - 思维链(CoT)集成
:原生支持 thinking模式,可配置”扩展思考”深度 - 流式响应处理
:通过 Anthropic SDK 实时处理 SSE 流,边接收边渲染到终端
🤖 3.2 多 Agent 协调器:coordinator 模块
coordinator/coordinatorMode.ts 证实了 Claude Code 具备完整的多智能体编排能力:
export function isCoordinatorMode(): boolean { if (feature('COORDINATOR_MODE')) { return isEnvTruthy(process.env.CLAUDE_CODE_COORDINATOR_MODE) } return false}
在协调器模式下,主 Agent 可以:
-
通过 AgentTool动态派生子 Agent 并行执行任务 -
通过 TeamCreateTool/TeamDeleteTool创建和管理 Agent 团队 -
通过 SendMessageTool实现 Agent 间消息传递 -
通过 SyntheticOutputTool生成结构化输出供其他 Agent 消费
🕵️ 3.3 隐藏模式一:Undercover Mode(卧底模式)
utils/undercover.ts 揭示了一个令人惊叹的内部安全机制:
当 Claude Code 检测到自己在操作公开/开源仓库时,会自动进入”卧底模式”,从 commit message、PR 标题中完整抹除所有 Anthropic 内部信息,让 Claude “伪装成人类开发者”。
“`Plain TextUNDERCOVER MODE — CRITICALNEVER include:– Internal model codenames (Capybara, Tengu, etc.)– Unreleased model version numbers– The phrase “Claude Code” or any AI mention– Co-Authored-By linesWrite commit messages as a human developer would.
“`
有意思的是,代码注释明确说明:这个模式无法被强制关闭(There is NO force-OFF),这是防止内部模型代号意外泄露的最后防线。
🌙 3.4 隐藏模式二:KAIROS(守护进程模式)
bridge/bridgeMain.ts 中大量的 feature('KAIROS') 特性门控揭示了一个主动式 AI 守护进程:
-
跨重启的会话持久化(cross-restart continuity) -
定时任务调度( tengu_kairos_cron_config) -
通过 SleepTool接收<tick>心跳包,主动寻找工作
SleepTool 注释写道:“You may receive
KAIROS 意味着 Claude Code 可以在后台持续运行、主动感知、自主行动——这已经超越了传统”被动问答”的 AI 工具定义。
🐾 3.5 彩蛋:Buddy System(电子宠物系统)
buddy/ 目录是此次泄露中最让开发者惊喜的发现——Claude Code 内置了一套完整的电子宠物系统!
代码中定义了 18 种生物,全部用 ASCII 字符绘制:
鸭、鹅、章鱼、卡皮巴拉、猫、兔、猫头鹰、企鹅、龟、蜗牛、幽灵、仙人掌、蘑菇、机器人、龙、史莱姆、胖子……
每种生物有稀有度体系(common / uncommon / rare / epic / legendary)和独特的随机生成算法:基于用户配置的 hash 值作为种子,用 Mulberry32 伪随机数生成器,确保每位用户的宠物独一无二。还支持帽子、眼睛等配件自定义,以及多帧 ASCII 动画!
这套系统精心藏在终端 UI 里,是 Anthropic 工程师为繁重编码工作留下的一抹温情。
四、技术架构全貌
工具系统(~40 个工具)
| 类别 | 工具 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
命令系统(101 个 slash 命令)
源码中共有 101 个 slash command,亮点包括:
/bughunter
:自动 Bug 猎手 /security-review
:安全审查 /advisor
:模型顾问模式 /commit-push-pr
:一键提交到 PR /insights
:项目洞察分析
Feature Flag 体系
已发现的编译时特性开关:
| Flag | 功能 |
|---|---|
COORDINATOR_MODE |
|
KAIROS |
|
PROACTIVE |
|
VOICE_MODE |
|
BRIDGE_MODE |
|
DAEMON |
|
AGENT_TRIGGERS |
|
MONITOR_TOOL |
|
五、并非孤例:近期接连出现工程安全事故
| 时间 | 事件 |
|---|---|
|
|
|
|
|
.map 文件配置失误全面泄露 |
安全专家指出,在 AI 军备竞赛高度白热化的 2026 年,各大模型厂商为抢占发布先机,往往在 CI/CD 流程中压缩安全审计时间。即便拥有最顶尖的 AI,人类开发者的一个配置失误仍可能导致核心资产的全面失守。
六、结语
Claude Code 的源码泄露是 2026 年 AI 行业最值得关注的工程安全事件之一。
对于开发者而言,这是一次难得的窗口——从 18 种电子宠物到卧底模式,从多 Agent 协调器到 KAIROS 守护进程,Anthropic 的工程师在这 51 万行代码里,藏着他们对”AI 如何参与软件开发”的完整想象。
对于整个行业,这更是一记警钟:工具越强大,其泄露的代价就越大。 在竞争与效率的压力下,安全审计不应成为被压缩的选项。
夜雨聆风