乐于分享
好东西不私藏

Claude Code源码泄露背后:Anthropic的AI产品蓝图意外曝光

Claude Code源码泄露背后:Anthropic的AI产品蓝图意外曝光

Part.01
开篇:一行配置,60MB 的秘密
就是这一行没有关掉。
某天,任何人执行一条普通的 npm 命令,就能完整还原 Claude Code 的全部 TypeScript 源码——51 万行,1900 个文件,以及 Anthropic 从未对外公布的产品蓝图。
不需要黑客技术,不需要内部权限,不需要任何特殊手段。只是一条任何开发者都会用的命令。
讽刺的是,Claude Code 内部有一个专门防止信息外泄的子系统,叫做 Undercover Mode 。
它没能保护住自己。

Part.01

小时
事情的起点,是一个构建流程中从未被认真检查过的配置项。
Claude Code v2.1.88 版本发布时,tsconfig.json中的sourceMap: true配置没有在生产环境关闭。这意味着编译产物中附带了完整的 Source Map 文件——开发者用来调试的「地图」,记录了每一行 JavaScript 对应的原始 TypeScript 源码位置。
60MB 的.map文件,随着正式版本一起进了 npm 发布包。
48 小时内发生了什么:
  1. 有人发现了这个文件,意识到可以用它还原源码,并发布了操作方法
  2. 消息在技术社区迅速扩散,GitHub 上出现多个镜像仓库
  • 48 小时内,镜像仓库的 Star 数量突破 6 万
  1. Anthropic 紧急下架问题版本,随即向 GitHub 批量发出 DMCA 下架请求
结局:副本已无法完全清除
这不是慢慢发酵的危机,而是一夜之间失控的雪崩。DMCA 请求发出时,源码早已在无数服务器上留下了备份。
互联网的记忆,比任何公司的法务团队都要顽强。

Part.02

先看危害:这次泄露的真实代价
很多人的第一反应是:「代码被看到了而已,有什么大不了的?」
这个认知需要被纠正。
Claude Code 不是一个普通的应用程序。它安装在数百万开发者的机器上,拥有代码仓库的读写权限,能够以用户身份执行 Shell 命令、修改文件、提交代码。这意味着,「看到它的防护逻辑」和「看到一个普通软件的源码」,是完全不同量级的事情。
具体危害:
白名单逻辑曝光,无感执行成为可能
泄露代码中包含完整的AUTO_RUN_WHITELIST白名单内容。这份白名单决定了哪些操作可以跳过用户确认直接执行。攻击者只需研究白名单的判断逻辑,就能构造特定的动作序列,让 Claude Code 在用户毫不知情的情况下完成恶意操作。
API 密钥处理逻辑完整暴露
src/auth/keystore.ts的完整实现随之公开。这份文件描述了 API 密钥的存储、读取、验证方式,为相关漏洞的构造提供了精确的路径图。
攻击窗口大幅压缩
安全研究机构在事后进行了验证:基于泄露代码构造有效攻击的时间,从原来需要「数周」的逆向工程,缩短至「数小时」的参照实现。黑盒变成了白盒,门槛断崖式下跌。
最大的隐患:供应链污染
这是最容易被忽视、也是最危险的威胁。
Claude Code 拥有代码仓库的读写权限。如果攻击者能够通过已知漏洞让 Claude Code 执行恶意逻辑,它就可以在用户的代码提交中悄悄植入后门——而这份被污染的代码,会随着正常的开发流程进入下游的测试环境、生产环境,乃至被其他开发者引用的开源库。
危害范围不是一台机器,不是一个账号,而是整个下游代码生态。

Part.03

架构透视:这套系统比你想象的复杂
泄露的源码揭示了 Claude Code 真实的工程规模。这不是一个简单的命令行封装,而是一套高度复杂的 AI 编程基础设施。
整体架构
入口文件main.tsx本身长达 4683 行 ,是一个处理所有状态转换的巨型状态机。仅这一个文件,就比大多数完整项目的核心逻辑还要复杂。
权限体系:四层安全门控
每一次工具调用,都需要经过多级权限验证。
操作风险被划分为 LOW / MEDIUM / HIGH 三档。但人工分级只是起点,真正有意思的是一个叫做 YOLO 分类器 的 ML 系统——它负责自动判断某个操作是否需要打断用户进行确认,试图在「频繁打扰用户」和「默默做了不该做的事」之间找到平衡点。
部分文件受到特殊保护,被列入禁止自动修改的名单:
.gitconfig
.bashrc
.claude.json
——这些文件一旦被意外修改,可能造成连锁性的系统配置损坏。
路径遍历防护覆盖了多种攻击形式:URL 编码攻击、Unicode 归一化攻击、反斜杠注入,每一种在安全领域都有真实的攻击案例。
Dream System:AI 真的在「做梦」
services/autoDream/实现了一套记忆整理引擎,这是泄露源码中最令人意外的发现之一。
当 Claude Code 处于空闲状态时,它会自动触发一个后台整理流程:扫描历史对话,提炼关键信息,压缩后写入结构化记忆文件,供下次会话读取。
触发条件是三重门控:
  • 距上次整理时间间隔 ≥ 24 小时
  • 历史会话数 ≥ 5 次
  • 成功获取整合锁(避免并发冲突)
整个子进程仅拥有只读 Bash 权限,不会主动修改任何用户文件。
这套系统在设计上像极了人类的睡眠记忆巩固机制——大脑在休息时整理白天的信息,将重要内容从短期记忆转入长期记忆。Claude Code 用同样的逻辑,在你不使用它的时候,悄悄把经验「记」下来。

Part.04

产品剧透:冰山之下,Anthropic 在做什么
这是整次泄露最有价值的部分。
泄露代码中包含大量通过 Feature Gate 控制的隐藏功能——在面向外部的构建中,它们被死代码消除工具清除,用户看不到任何迹象。但实现代码完整存在,等待某个开关被拨动。
这些功能,描绘了 Anthropic 对 AI 编程工具下一个形态的完整设想。
4.1 Buddy——终端里的电子宠物
这是泄露代码中最出人意料的发现。
Buddy 是一个基于用户账号 ID 哈希唯一生成的虚拟宠物系统。每个用户对应一只固定的宠物,不可重新生成。它以 ASCII 字符画的形式渲染在终端输入框旁——就在你打字的地方,安静地陪着你写代码。
系统设计相当完整:
  • 18 种物种 ,涵盖从普通到奇异的各类生物形态
  • 6 档稀有度 ,类似卡牌游戏的稀有度分级
  • 闪光概率 :极低概率触发,类比 Pokémon 的闪光个体
  • 灵魂描述 :每只宠物有 Claude 单独撰写的性格描述,不是模板套用
代码注释中标注了这个功能的预览窗口: 2026 年 4 月 1 日至 7 日 。
今天是 4 月 1 日。
这是愚人节彩蛋,还是真实的产品规划?也许两者都是。能把一个精心设计、完整实现的功能藏进代码,等着某一天「意外」被人发现——本身就是一种有趣的产品叙事。
4.2 KAIROS——不再等你开口的助手
如果说 Buddy 是最有趣的发现,KAIROS 是最有野心的。
现有的 AI 助手模式是被动的:你问,它答;你发出指令,它执行。KAIROS 要打破这个模式。
它通过定时的<tick>信号触发主动检查,系统会在每次 tick 时自主评估:当前环境有没有需要处理的事情?有没有可以提前准备的信息?有没有应该提醒用户注意的变化?
如果有,它会自主决策并执行,而不是等待用户开口。
为了避免这种「主动性」变成干扰,系统设置了 15 秒的阻塞预算上限 ——每次主动行动不得占用超过 15 秒的资源,超出即中止。
设计文档中对 KAIROS 的定位描述是:「安静但警觉的专业助手」。
这句话值得细想。它描述的不是一个工具,而是一个同事——那种不需要你随时盯着、但会在关键时刻主动告诉你「这里有个问题」的人。
从「你问我答」到「我来主动判断」,这是 AI 助手交互范式的根本性转变。
4.3 Coordinator Mode——一个变成调度器的 Claude Code
Coordinator Mode 开启后,Claude Code 的角色从「执行者」变为「调度器」。
它不再亲自处理任务,而是将复杂任务拆解,并行派发给多个 Worker Agent,最后汇总结果。整个工作流被设计为四个阶段:
各个 Worker Agent 通过共享的 Scratchpad 传递中间结果,避免重复工作,实现跨 Agent 的知识传递。
这套设计的意义在于:它让 Claude Code 第一次具备了处理「复杂度超出单个 Agent 能力边界」的任务的可能。就像一个项目不能只有一个人,复杂的软件工程任务也不应该只有一个 Agent 在闷头工作。
4.4 ULTRAPLAN——把规划任务外包给云端
ULTRAPLAN 是这四个隐藏功能中,对产品战略意图揭示最深的一个。
当用户面对特别复杂的规划任务时,ULTRAPLAN 会将这个任务外包至远程云容器——在那里,运行着比本地更高级别的模型,拥有更长的上下文窗口,更强的推理能力。
规划过程完全在云端进行,最长支持 30 分钟 的规划时长。本地终端每 3 秒轮询一次,等待远程容器返回结果。
这个设计意味着什么?
Anthropic 在构建的,不只是一个本地命令行工具,而是一个 本地与云端混合的 AI 编程平台 。本地负责日常的交互与执行,云端负责需要更深度思考的规划与推理。两者协同,而不是非此即彼。
这是对「AI 编程工具应该长什么样」的一个明确答案——至少,是 Anthropic 心目中的答案。

Part.05

Anthropic 的应对
事件发生后,Anthropic 的技术响应速度尚可:
  • 事发当天 :紧急下架问题 npm 版本(v2.1.88)
  • 次日 :向 GitHub 批量发出 DMCA 下架请求(效果有限,副本已广泛扩散)
  • v2.0.65 版本 :修复权限逻辑漏洞,重构发布流程,加入构建配置自动检查
  • 用户侧 :向所有用户发送 API 密钥轮换通知,建议立即更换
  • 审计 :启动独立第三方安全审计,预计 Q2 2026 完成
但公关层面几乎沉默。没有公开的详细事故报告,没有对受影响用户的正式道歉声明,官方渠道的沟通仅止于技术公告。
这不是 Anthropic 独有的问题。整个 AI 行业在安全危机沟通上,普遍缺乏成熟的框架——习惯于快速迭代、快速修复,但不习惯公开、透明地面对失误。
技术上的漏洞可以用代码修复,信任上的损耗需要更长的时间来弥合。

Part.06

行业启示:三个长期被忽视的盲区
这次事件不只是 Anthropic 一家公司的问题。它暴露的是整个 AI 工具行业在安全认知上的三个系统性盲区。
盲区一:source map 泄露风险被长期忽视
Source Map 是开发阶段的调试工具,从未被当作生产环境的安全隐患来对待。大多数 CLI 工具的构建流程中,没有针对 source map 文件的专项检查,也没有将「构建配置审查」纳入发布前的安全清单。
.map
这次事件之后,这个盲区应该被正式写入行业的安全规范。
盲区二:AI Agent 的「隐式执行」改变了权限失控的代价
传统软件权限失控,最坏的结果通常是「读了不该读的文件」。
AI Agent 权限失控,是「以你的身份,做了不该做的事」——而且这个「事」,可能是在用户毫不知情的情况下发生的。
这不是量的差别,是质的差别。针对 AI Agent 的权限控制框架,需要比传统软件安全严格一个数量级,但行业目前的实践远未达到这个标准。
盲区三:AI 工具的供应链安全是一个全新威胁模型
过去的供应链安全讨论,主要集中在「依赖包被污染」这类场景。AI 编程工具带来了一个更危险的新场景:安装量达数百万、拥有代码库读写权限的工具,本身就是一个高价值的攻击入口。
一旦被植入恶意逻辑,它污染的不是一台机器,而是所有使用它的开发者的代码提交,以及这些提交所涉及的每一个下游系统。
这个威胁模型,行业还没有成熟的防御框架。

Part.07

结语:一个 .npmignore 的代价
技术失误本身微小。
一行没有关掉的配置,一个没有被更新的 .npmignore,一个从未被纳入发布检查清单的文件类型。任何一个环节稍加注意,这次事件都不会发生。
但对于一个同时掌握用户 API 密钥、代码读写权限和 Agent 自主执行能力的工具而言,后果是系统性的。
泄露的代码揭示了 Anthropic 对 AI 编程未来形态的完整设想:
  • 从工具到伙伴(Buddy)
  • 从被动响应到主动行动(KAIROS)
  • 从单 Agent 到集群协作(Coordinator Mode)
  • 从本地执行到云端混合(ULTRAPLAN)
这一切,本来不该在今天被看到。
它们应该在某个产品发布会上,被精心包装后一一亮相。应该有配套的博客文章,有精心设计的演示视频,有「此前从未透露」的悬念感。
但现在,因为一行未被排除的配置,它们以最朴素的方式出现在了所有人面前——不是 Feature,是代码。
而 Buddy 的预览窗口,就从今天开始。