2026年4月2日 19:30分,来腾讯会议(限30人)了解如何用Openclaw构建企业AI生产力
免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

Claude Code 源码泄漏,全部细节与始末

发布日期:2026-03-31 21:12:14 浏览次数: 1661
作者:赛博禅心

微信搜一搜,关注“赛博禅心”

推荐语

Claude Code源码意外泄露,暴露1900个TypeScript文件及未发布功能,引发GitHub万星备份狂潮。

核心内容:
1. 源码泄露的发现过程与具体规模
2. GitHub上的疯狂备份与社区反应
3. npm生态同日发生的axios供应链攻击事件

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

Leak


2026 年 3 月 31 日,安全研究员 Chaofan Shou 发现 Anthropic 的 Claude Code 全部源码通过 npm 包里的一个 source map 文件暴露在了公网上

Chaofan Shou 在 X 上公布了泄露发现

1,900 个 TypeScript 源文件,512,000 行代码,从工具系统到权限模型到未发布功能,全部以未混淆的原始形态公开可下载。泄露的具体版本是 @anthropic-ai/claude-code v2.1.88

几个小时之内,源码被多人备份到 GitHub。其中最大的一个备份仓库 instructkr/claude-code,一个小时内涨到 11,300 star 和 17,300 fork,568 个 issue

一个小时,一万 star。fork 数比 star 数还多,大家的第一反应是先存一份

instructkr/claude-code 的 star 增长曲线,一小时内突破万星


GitHub 仓库,一小时 11.3k star, 17.3k fork, 568 issues


npm 的 3 月 31 日:两件事,不是一件

这一天 npm 生态同时出了两件事。很多人看到「npm 投毒」「Claude Code 泄露」混在一起讨论,容易搞混。这里先理清楚

第一件事是 axios 被供应链攻击。axios 是 JavaScript 生态里最常用的 HTTP 客户端库之一,每周下载量超过 1 亿 次。攻击者劫持了 axios 主要维护者 jasonsaayman 的 npm 账号,把账号邮箱改成了一个 ProtonMail 地址,然后发布了两个带毒版本:1.14.1 和 0.30.4

这两个版本本身没有恶意代码。它们做的事情是在依赖里加了一个叫 plain-crypto-js 的包,这个包会在安装时自动执行一个脚本,往你的机器上投放一个远程访问木马(RAT),支持 macOS、Windows、Linux 三个平台。执行完之后自动删除自身,替换成干净的 package.json

这次攻击的时间线很精密:3 月 30 日先发布了一个干净的 plain-crypto-js@4.2.0 建立可信度,18 小时后发布带毒的 4.2.1 版本,再过 20 分钟发布带毒的 axios@1.14.1,又过 39 分钟发布 axios@0.30.4。安全公司 StepSecurity 称这是针对 npm Top 10 包的「最具操作精密度的供应链攻击之一」

带毒版本在 npm 上存活了大约两到三个小时后被移除

第二件事是 Claude Code 源码泄露。这跟 axios 投毒没有关系,是两个完全独立的事件。只不过恰好发生在同一天、同一个包管理器上

同一天,同一个包管理器,一个被攻击,一个自己漏了


怎么泄露的

泄露的原因很简单

当你用 JavaScript/TypeScript 开发一个 npm 包时,构建工具通常会生成 source map 文件(.map 文件)。这个文件的用途是把打包压缩后的代码映射回原始源码,方便调试时定位问题。source map 文件里有一个 sourcesContent 字段,直接包含了每一个原始源文件的完整内容

正常情况下,.map 文件不应该出现在发布到 npm 的生产包里。你需要在 .npmignore 里排除它们,或者在构建配置里关闭 source map 生成

Claude Code 使用 Bun 作为打包工具。Bun 的打包器默认生成 source map,除非你显式关掉。这次泄露的直接原因,据社区分析,大概率是构建流水线里没有做好 .map 文件的清理,发布时把一个 59.8 MB 的 source map 文件一起发到了 npm registry

Claude Code npm 包中暴露的源文件列表


源码里面有什么

从外面看,Claude Code 是一个终端里的 AI 编程助手,你在命令行里输入自然语言,它帮你改代码、跑命令、管理 Git 工作流

从源码看,这个工具的工程复杂度远超一个 CLI 包装器。入口文件 main.tsx 有 785KB,整个代码库包含 40 多 个独立的工具模块、一个 46,000 行的查询引擎、多 Agent 编排系统,以及多个尚未公开发布的功能


工具系统:40 多个权限控制的工具

Claude Code 的每一项能力都被封装成一个独立的工具模块,放在 tools/ 目录下。每个工具定义了自己的输入格式、权限模型和执行逻辑

已公开的核心工具包括:文件读写和编辑、Shell 执行(支持沙箱)、文件搜索、网页访问、Jupyter 笔记本编辑、子 Agent 调度、LSP 通信、MCP 资源访问等

工具的权限系统分为四个模式:default(交互式逐次询问用户)、auto(通过 ML 分类器自动决策)、bypass(跳过检查)、yolo(拒绝所有)。每个工具动作被分为低、中、高三个风险等级


查询引擎:46,000 行

query/ 目录是整个代码库里最大的单一模块,负责所有 LLM API 调用、流式传输、缓存和编排

系统提示词采用模块化设计,把提示词分成静态段(可跨用户缓存)和动态段(每次会话独立生成)。有一个函数叫 DANGEROUS_uncachedSystemPromptSection(),从命名就能看出来有人在这上面踩过坑


Dream 记忆系统:Claude 的「做梦」

services/autoDream/ 下有一个叫 autoDream 的后台记忆整合引擎

它的工作方式是这样的:当三个条件同时满足的时候(距上次执行超过 24 小时、至少经历了 5 次会话、成功获取了整合锁),系统会启动一个后台子 Agent,对记忆文件做一次整理。这个子 Agent 只有只读权限,不能修改项目文件

整理分四步:先读取记忆目录和现有记忆文件,然后从最近的日志和会话中提取新信息,接着更新或合并记忆文件(把相对日期转成绝对日期、删除过时信息),最后做裁剪,保持在 200 行以内

源码里的提示词:「你正在做一次梦,对记忆文件做一次反思性的回顾。把你最近学到的东西整合成持久的、组织良好的记忆,方便未来的会话快速定位」


KAIROS 模式:常驻后台的 Claude

assistant/ 目录下有一个叫 KAIROS 的模式,外部版本里完全不存在

从代码看,KAIROS 是一个持续运行的后台助手。它不需要你主动输入,会通过定时的  信号自主决定是否采取行动。它维护着一个只追加的每日日志文件,记录观察、决策和操作

这个模式有一个 15 秒 的阻塞预算限制:任何可能打断用户工作流的主动操作,如果执行时间超过 15 秒,会被延后

KAIROS 有三个普通 Claude Code 没有的专属工具:SendUserFile(给用户推送文件)、PushNotification(发推送通知)、SubscribePR(订阅 Pull Request 动态)


Coordinator 模式:多 Agent 编排

coordinator/ 目录实现了一个完整的多 Agent 编排系统。开启后,Claude Code 会从单个 Agent 变成一个调度器,同时管理多个工作 Agent 并行执行任务

工作流程分四个阶段:Research(多个 Agent 并行调查代码库)、Synthesis(调度器汇总发现、制定方案)、Implementation(Agent 按方案执行修改并提交)、Verification(验证修改是否生效)

调度器提示词里有一条规则:「不要说"根据你的发现",去读实际的发现,然后精确地说明该做什么」


ULTRAPLAN:远程规划

一个把复杂规划任务卸载到远程云容器的模式。它会启动一个运行 Opus 4.6 的远程会话,给它最多 30 分钟 思考时间。本地终端每 3 秒轮询一次结果,同时有一个浏览器界面让你实时查看和审批规划方案


Buddy:终端里的电子宠物

buddy/ 目录下有一个完整的电子宠物系统

它使用 Mulberry32 伪随机数生成器,用你的 userId 哈希值作为种子,确定性地生成一个宠物。18 个物种分为 5 个稀有度等级:普通(60%)、不常见(25%)、稀有(10%)、史诗(4%)、传说(1%)。在此之外还有独立的 1% 闪光概率

每个宠物有 5 项属性(DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK),以 5 行高、12 字符宽的 ASCII 动画渲染在你的输入框旁边

从代码里的时间引用来看,计划在 2026 年 5 月正式上线


Undercover Mode:内部员工的伪装模式

utils/undercover.ts 里有一个功能,用来防止 Anthropic 内部员工在公共仓库工作时暴露内部信息

开启后,系统提示词里会注入一段指令,要求 Claude 在 commit message 和 PR 描述中不要出现:内部模型代号(比如 Capybara、Tengu 等动物名)、未发布的版本号、内部项目名称,以及「Claude Code」这个名字本身

代码注释写着:「如果我们不确定是不是在内部仓库里,就保持 undercover」


其他发现

内部代号:Claude Code 的内部项目代号是 Tengu(天狗),大量特性开关以 tengu_ 为前缀。migrations 目录还暴露了其他模型代号:Fennec(耳廓狐,某个 Opus 版本的代号)

Fast Mode 的内部名称是 Penguin Mode:API 端点字面写着 claude_code_penguin_mode

Computer Use 的内部代号是 Chicago:基于 @ant/computer-use-mcp 实现,限 Max/Pro 订阅用户使用

 未发布的 Beta 头信息:包括 redact-thinking(隐藏思考过程)、afk-mode(离开模式)、advisor-tool(顾问工具)等

 客户端认证:每个 API 请求都带有 x-anthropic-billing-header,用于验证请求来自正版 Claude Code 安装

五天,两次泄露

这已经是 Anthropic 五天内的第二次安全事故了

3 月 26 日,Fortune 报道称 Anthropic 的 CMS(内容管理系统)发生配置错误,导致将近 3,000 个未发布的资产可以被公开访问。这些资产里包含了一篇关于未发布模型 Claude Mythos(内部代号 Capybara)的草稿博客文章,以及一个面向欧洲 CEO 的闭门活动细节

Anthropic 确认了 Mythos 模型的存在,称它是「能力上的阶跃变化」和「我们迄今为止最强的模型」。据泄露的草稿,Mythos 定位在 Opus 之上,作为一个新的模型层级

Anthropic 将 CMS 事件归因于「外部 CMS 工具的人为操作失误」

5 天后,npm source map 泄露了全部源码

两次事故的共同点:都是配置层面的错误,都没有涉及黑客攻击或恶意行为


代码结构一览

claude-code/

├── assistant/       # KAIROS 常驻助手模式

├── bridge/          # IDE 桥接(VS Code / JetBrains)

├── buddy/           # 电子宠物系统

├── commands/        # Slash 命令(约 50 个)

├── components/      # React 终端渲染组件(约 140 个)

├── coordinator/     # 多 Agent 编排

├── memdir/          # 持久化记忆目录

├── plugins/         # 插件系统

├── query/           # 查询引擎(46K 行,最大模块)

├── services/        # 服务层(含 autoDream 记忆整合)

├── skills/          # 用户自定义技能

├── tools/           # 40+ 工具模块

├── utils/           # 工具函数(含 undercover.ts)

├── voice/           # 语音输入

├── main.tsx         # 入口(785KB)

├── QueryEngine.ts   # 查询引擎核心

└── Tool.ts          # 工具基类(29K 行)


事件时间轴

 3 月 26 日

Anthropic CMS 配置错误,约 3,000 个未发布资产(包括 Mythos 模型草稿)被公开访问。Fortune 报道后 Anthropic 修复

 3 月 30 日 05:57 UTC

攻击者发布干净版本 plain-crypto-js@4.2.0

 3 月 30 日 23:59 UTC

攻击者发布带毒版本 plain-crypto-js@4.2.1

 3 月 31 日 00:21 UTC

使用被劫持的 npm 账号发布带毒的 axios@1.14.1

 3 月 31 日 01:00 UTC

发布带毒的 axios@0.30.4

 3 月 31 日 约 03:15 UTC

带毒的 axios 版本从 npm 移除

 3 月 31 日

Chaofan Shou 发现 @anthropic-ai/claude-code v2.1.88 包含 source map 文件,指向完整源码

 3 月 31 日(1 小时内)

备份仓库 instructkr/claude-code 突破 11,000 star,17,000 fork

截至发稿,Anthropic 尚未就源码泄露事件发表公开回应

撰文:赛博禅心

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询