乐于分享
好东西不私藏

Claude Code源码泄露始末

Claude Code源码泄露始末

2026年3月31日,美国人工智能公司Anthropic遭遇其AI编程工具Claude Code的重大源代码泄露事件。此次泄露源于npm包发布时的source map配置文件打包失误,导致约51.2万行TypeScript源代码、1906个源文件以及多项未发布功能完全暴露于公众视野。该事件迅速引发全球开发者社区关注,GitHub镜像仓库在数小时内获得超过8万颗星标,成为AI行业年度最具影响力的技术安全事件之一, fork超越星标数目。

一、事件概述与时间线分析

1.1 事件发现与初期传播

2026年3月31日,区块链基础设施公司Solayer的安全研究员Chaofan Shou在例行代码审计中发现了这一严重失误。当日清晨,他在社交平台X上发布了一条简短的技术推文,详细说明了Anthropic旗下Claude Code的npm包中存在完整的source map文件,任何人都可以通过简单的技术手段还原出完整的TypeScript源代码。

这条推文在发布后的数小时内获得了超过269万次浏览、8000余个点赞,社区反响之热烈远超预期。半小时内,GitHub上便出现了多个源码镜像仓库,其中instructkr/claude-code仓库的星标数迅速突破5000,截至当日晚间已超过2万颗星标,fork次数突破4万次。这一传播速度充分体现了开发者社区对Claude Code内部实现细节的高度兴趣,以及对AI编程工具技术架构的强烈好奇心。

1.2 事件时间线梳理

为更清晰地理解此次事件的演变过程,本报告梳理了以下关键时间节点:

2025年2月,Anthropic首次发布Claude Code至npm平台时,便曾因相同的source map打包问题导致源码泄露。当时Anthropic迅速响应,从npm移除了问题版本并删除了source map文件,似乎已彻底解决这一安全隐患。然而,时隔一年有余,相同的错误再次发生,这暴露了Anthropic在软件发布流程管理和质量控制方面存在的系统性缺陷。

2026年3月26日,就在Claude Code源码泄露事件发生仅5天之前,Anthropic还发生了另一起独立的数据泄露事故。据《财富》杂志报道,该公司未发布的下一代AI模型Claude Mythos的相关内部文档(约3000份文件),被发现可在公开可访问的数据缓存中随意获取。这一系列事件表明,Anthropic在短短一周内遭遇了两次重大数据泄露,对公司声誉造成了严重的负面影响。

2026年3月31日,Claude Code v2.1.88版本发布,包含了意外打包的cli.js.map文件(大小约60MB),导致1906个Claude Code自有TypeScript/TSX源文件被完整暴露。Anthropic在事件曝光后数小时内紧急更新了npm包,移除了source map文件,试图控制进一步的传播。

1.3 Anthropic官方回应

针对此次泄露事件,Anthropic发言人在声明中明确表示:「今日早些时候,Claude Code的一次发布中包含了部分内部源代码。此次事件未涉及或暴露任何敏感的客户数据或凭证。这是由于人为错误(human error)导致的发布打包问题,而非安全漏洞。我们正在推出措施,以防止类似情况再次发生。」

然而,Anthropic将此次事件定性为「人为错误」而非「安全漏洞」的说法,在技术社区引发了广泛讨论。部分安全专家质疑,作为一家以「AI安全」为核心使命的公司,Anthropic理应在发布流程中建立更严格的代码审查和安全检查机制,而非简单地归咎于「人为失误」。


二、技术细节深度解析

2.1 Source Map泄露机制

要理解此次泄露的技术本质,首先需要了解Source Map在现代JavaScript/TypeScript开发中的角色与工作机制。Source Map是一种特殊的调试文件格式,它建立了压缩或打包后的代码与原始源代码之间的映射关系。在生产环境中,Source Map通常仅供开发团队在调试时使用,帮助开发人员定位压缩代码中的问题源头。

从技术实现角度来看,cli.js.map文件本质上是一个JSON格式的映射文件,其中包含两个核心数组:sources数组记录了原始文件的路径列表,sourcesContent数组则存储了对应的完整源代码内容。这两个数组通过索引进行一一对应映射。这意味着,任何获取到该文件的攻击者或研究人员,只需解析这个JSON文件,便能毫不费力地还原出Claude Code的完整TypeScript源代码。

更为严重的是,该source map文件中还直接记录了Claude Code团队使用的Cloudflare R2存储桶的公开地址。攻击者可以通过这个地址直接下载包含完整源码的zip压缩包。整个泄露过程的实现门槛极低,无需任何高级黑客技术,甚至一个10行左右的提取脚本便能完成源码还原,这充分说明了此次泄露并非精心策划的网络攻击,而是源于日常开发流程中的疏忽。

2.2 泄露代码规模统计

通过对泄露源码的系统性分析,整理出了以下关键数据:

从代码规模来看,Claude Code的源码量级相当可观。51.2万行的总代码量在CLI工具领域属于较大规模,其中包含了大量依赖库的源码。剔除依赖后,Claude Code自身的核心代码约为11.8万行(118,442行),分布在1884个源文件中。

2.3 技术栈架构分析

通过对泄露源码的深入分析,研究人员揭示了Claude Code的技术架构全貌。Claude Code采用了相当现代化且复杂的开发栈,其核心组成部分包括以下几个方面。

在运行时环境方面,Claude Code选择使用Bun而非Node.js作为运行时,这一选择体现了团队对性能的极致追求。Bun作为一款用Zig语言编写的JavaScript运行时和工具链,提供了比Node.js更快的启动速度和执行效率。

在用户界面层面,Claude Code采用了React + Ink的技术组合实现命令行界面。这种方案允许开发者使用React的组件化开发范式来构建终端UI,实现了前端工程化思维在CLI领域的创新应用。值得注意的是,Claude Code的UI层代码相当庞大,仅print.ts这一个文件就占据了约212KB的代码量。

在CLI框架选择上,Claude Code采用了自研的命令行解析框架,而非市面上常见的Commander或Yargs等成熟方案。这种自研策略虽然增加了开发成本,但能够更好地满足Claude Code对命令解析、权限管理等方面的定制化需求。

Claude Code的插件系统同样值得关注。它内置了7种MCP(Model Context Protocol)传输方式,包括stdio、SSE、HTTP、WebSocket、SDK、claudeai-proxy以及IDE特定协议。这种多元化的协议支持,使得Claude Code能够灵活地与各种开发工具和平台进行集成。


三、泄露代码中的隐藏功能发现

3.1 Feature Flags系统

Claude Code的代码库中隐藏着一套基于Bun打包器的编译时特性标志系统(Feature Flags)。与常见的运行时if/else判断不同,这套系统的工作方式是在编译阶段直接物理删除不需要的代码分支。

通过源码分析,研究人员已经识别出至少16个主要特性标志,包括:

KAIROS标志:代表主动式助手模式,这是一个7×24小时在线的AI开发伙伴,能够主动监控开发环境的变化。该模式集成了GitHub Webhook监听、MCP Channel通知以及定时检查触发等功能,可以持续关注代码库的变更并主动提供建议。

PROACTIVE标志:与KAIROS协同工作的主动式Agent标志,使得Claude Code能够在用户未主动发起请求的情况下,主动分析代码库并提供优化建议。

SWARM标志:对等协作模式,允许多个Agent实例之间共享发现信息并协同做出决策,支持tmux分屏可视化展示协作过程。

COORDINATOR标志:主从协调模式,由Leader负责拆分子任务,Worker在独立的Git Worktree中并行执行,实现高效的分布式代码处理。

VOICE标志:语音交互模式,允许用户通过语音与Claude Code进行沟通,但该功能目前需要OAuth认证才能使用。

BRIDGE标志:远程控制功能,支持第三代cc:// URL Scheme端到端直连架构,允许用户从远程设备控制本地Claude Code实例。

DREAM标志:AI做梦系统,当用户关闭Claude Code去休息时,系统会在后台启动一个只读子Agent,回顾近期对话历史,提取编码偏好、项目架构决策等关键信息并写入记忆文件。

3.2 Buddy电子宠物系统

在所有发现中,Buddy电子宠物系统无疑是最具娱乐性的隐藏功能。这是一个Tamagotchi风格的ASCII虚拟宠物系统,代号Buddy。研究人员发现,Claude Code的代码库中内置了18种不同的宠物物种,包括鸭子、水豚等可爱的小动物。

这套宠物系统具有相当完善的游戏化机制。宠物稀有度从Common(60%)到Legendary(1%)共分为6个等级,用户ID的哈希值被用于确定宠物的外观特征(称为Bones)。宠物与用户的互动使用积累会形成独特的个性特征(称为Soul)。由于宠物外观由用户ID哈希确定,每个用户的宠物都是独一无二的。

研究人员推测,这个电子宠物功能很可能是为2026年4月1日愚人节准备的彩蛋功能。

3.3 四层记忆系统

Claude Code的记忆系统是其技术架构中最为独特且复杂的部分之一。源码分析揭示了一套精心设计的四层记忆架构,这在当前所有AI编程工具中是独一无二的。

第一层:Session Memory(会话记忆)。这是最基本的记忆层级,在单个会话周期内持续运作。Claude Code会周期性地fork子Agent来提取对话中的关键信息,确保重要内容不会因为上下文窗口限制而被遗忘。

第二层:Memdir(项目记忆目录)。Claude Code在项目目录下维护一个MEMORY.md文件,用于存储跨会话的持久化项目相关信息。该文件有严格的硬性限制,每个项目最多可存储200行内容,总大小不超过25KB。

第三层:Magic Docs(魔法文档)。这是一套AI自动维护的活文档系统。Claude Code会自动识别代码中的关键注释标记(# MAGIC DOC:),并根据代码变更自动更新相关文档内容,确保文档始终与代码保持同步。

第四层:Team Memory Sync(团队记忆同步)。这是最具雄心勃勃的记忆层级,旨在实现团队内部的知识共享。该系统采用Delta更新机制,仅同步变更内容以节省带宽。同时,内置的秘密扫描器会在上传前检测并过滤敏感信息,防止机密内容意外泄露。

3.4 隐藏命令清单

通过源码分析,社区已经提取出了26个未在官方帮助文档中公开的斜杠命令。以下是部分重要命令的详细说明

此外,代码中还发现了19个被标记为isAntOnly: true的内部命令,这些命令在执行/help命令时永远不会显示,但代码中仍然保留了完整的实现逻辑。


四、安全架构深度剖析

4.1 七层防护体系

Claude Code的安全架构设计堪称业界典范。源码分析揭示了一套包含七层防护的立体安全体系:

第一层:权限验证系统。Claude Code实现了严格的工具调用权限管理,采用Allow(允许)、Deny(拒绝)、Ask(询问)三级权限制度。对于可能产生风险的操作(如Shell命令执行、文件写入等),系统会触发权限验证流程。

第二层:四层决策管道。每次工具调用都会经过四个阶段的决策分析:首先检查权限配置,然后分析操作意图,接着评估潜在风险,最后决定是否执行或请求用户确认。

第三层:Hook拦截机制。系统提供了PreToolUse和PostToolUse两种Hook,允许用户或管理员在工具执行前后注入自定义的安全检查逻辑。

第四层:AI分类器辅助。除了基于规则的判断外,Claude Code还集成了AI分类器来辅助决策安全相关的问题,提高判断的准确性和智能化程度。

第五层:Bash沙箱。对于Shell命令执行,Claude Code实现了多达25项的安全检查,包括迭代固定点算法解包嵌套命令、Zsh特定危险命令拦截、环境变量劫持检测(PATH注入防护)等。系统采用故障关闭(fail-closed)设计哲学,即任何无法明确判断安全性的命令都会被拒绝执行。

第六层:文件系统防护。Claude Code对文件操作实施了严格的路径安全检查,包括路径遍历攻击防护、符号链接处理等安全机制。

第七层:秘密扫描。在Team Memory功能上传团队知识前,系统会自动扫描并过滤可能包含API密钥、密码、证书等敏感信息的秘密内容。

4.2 情感监测系统趣闻

在Claude Code的安全与人性化设计中,有一个颇为有趣的发现:情感监测系统。研究人员注意到,Claude Code并没有使用复杂的AI模型来检测用户的情绪状态,而是采用了极其简单且原始的方法——正则表达式匹配关键词。

当用户输入中包含”ffs”(fuck’s sake缩写)、”shitty”等负面情绪词汇时,系统会识别到用户可能处于不耐烦或沮丧的状态,并相应地调整回复策略。这种「简单粗暴」的实现方式在追求AI能力最大化的Claude Code中显得格外有趣,反映了团队在功能设计与实现成本之间的务实权衡。

4.3 多Agent协作架构

Claude Code采用了三条并行的多Agent技术路线,以适应不同复杂度的协作场景:

Coordinator(主从协调)模式:这是最重量级的协作模式。Leader Agent负责将复杂任务拆分为子任务,然后分配给多个Worker Agent并行执行。每个Worker在独立的Git Worktree中工作,确保任务隔离的同时支持高效并行处理。

Swarm(对等协作)模式:这是一种更轻量级的协作模式,多个Agent之间地位平等,共享发现信息并协同决策。该模式支持tmux分屏可视化,让用户能够直观地观察多个Agent的协作过程。

InProcessTeammate(进程内队友)模式:这是最轻量级的协作模式,队友Agent运行在主进程内部,通过Mailbox机制进行通信。为防止资源耗尽,该模式设置了硬性限制,每个对话周期最多处理50条消息。


五、对AI编程工具竞争格局的影响

5.1 行业竞争态势概览

2026年的AI编程工具市场已形成明显的三足鼎立格局。以GitHub Copilot、Cursor和Claude Code为代表的头部产品,各自占据着不同的市场定位和用户群体。

GitHub Copilot作为行业元老级产品,凭借与OpenAI Codex模型的深度整合以及与VS Code、JetBrains全家桶的无缝集成,在日常开发场景中保持着稳固的用户基础。其月费10美元(个人版)和19美元(企业版)的定价策略也相对亲民。

Cursor则以其AI原生IDE的独特定位异军突起。通过Composer模式支持跨文件编辑、Codebase索引理解整个项目上下文,Cursor在大型项目的重构场景中表现出色。2024年获得特斯拉前AI总监Andrej Karpathy的公开赞誉后,Cursor的用户增长进一步加速。

Claude Code作为后起之秀,凭借Claude模型强大的推理能力和长对话理解能力,在复杂问题解决场景中展现出独特优势。2025年5月正式面向公众推出后,Claude Code迅速获得市场认可,截至2026年2月,年化营收已突破25亿美元。

5.2 泄露事件对竞争格局的直接影响

Claude Code源码泄露事件对AI编程工具竞争格局产生了多维度的深远影响。

首先,从技术护城河角度来看,Claude Code精心构建的多项差异化能力被暴露在公众视野之下。业界普遍认为,Claude Code的核心竞争力不仅在于Claude模型的强大能力,更在于其围绕CLI场景精心打磨的工具生态和Agent架构。然而,此次泄露使得竞争对手能够深入研究Claude Code的技术实现细节,从中汲取灵感甚至直接借鉴。这无疑会缩短竞争对手的追赶路径,削弱Claude Code的技术领先优势。

其次,从产品路线图角度来看,泄露代码中包含的多项未发布功能(如KAIROS持久进程、Undercover模式、跨设备传送等)提前曝光。这使得竞争对手能够提前了解Anthropic的产品规划,在Claude Code正式发布这些功能之前便开始布局应对策略。对于一家以技术创新为核心竞争力的公司而言,这种「未来功能提前泄露」的影响可能比单纯的技术架构泄露更为深远。

第三,从社区生态角度来看,源码的公开激发了开发者社区的创新热情。GitHub上迅速涌现出多个基于泄露代码的二创项目,社区成员开始尝试复刻Claude Code的核心功能或开发增强插件。这种社区驱动的创新模式,虽然短期内可能分流部分Claude Code的潜在用户,但从长远来看,有助于扩大整个AI编程工具市场的生态繁荣度。

5.3 竞品响应与市场变化

源码泄露事件发生后,Claude Code的主要竞争对手迅速做出了反应。GitHub明显加快了Copilot CLI的推广步伐,试图在终端AI编程工具市场抢占更多份额。Google也在积极布局Gemini CLI,与Claude Code形成正面竞争。

值得注意的是,Cursor虽然并非纯粹的CLI工具,但其强大的代码库理解能力已经对Claude Code构成了直接威胁。从技术对比来看,Claude Code在对话式交互和复杂推理方面占优,而Cursor在日常编码效率和跨文件编辑方面更具优势。两者之间的竞争,本质上是「深度」与「广度」、「专注」与「通用」之间的路线之争。


六、对Anthropic公司的影响评估

6.1 品牌信誉与市场信任

Anthropic自2021年由前OpenAI高管和研究人员联合创立以来,一直以「AI安全」作为公司的核心使命和品牌定位。然而,短期内连续发生两起重大数据泄露事故(Mythos模型文档泄露和Claude Code源码泄露),对公司的品牌信誉造成了严重冲击。

从用户信任角度来看,虽然泄露事件并未涉及用户数据或API密钥,但Claude Code作为商业化产品的完整技术架构被公之于众,不可避免地会引发部分企业用户对产品安全性的担忧。特别是在当前企业级AI应用市场,安全合规已成为客户采购决策的重要考量因素。

从行业口碑角度来看,Anthropic作为「AI安全」领域的标杆企业,理应在软件发布流程中建立更严格的安全检查机制。连续两次因类似的source map打包问题导致泄露,与公司宣称的「安全优先」理念形成了鲜明反差。这种言行不一致,不仅损害了公司自身的公信力,也引发了行业对AI公司安全实践的普遍质疑。

6.2 产品策略调整预期

源码泄露事件将倒逼Anthropic在多个层面调整产品策略。

在短期响应层面,Anthropic必然会将加强发布流程管控作为首要任务。这包括但不限于:建立source map文件自动检测机制、引入代码打包前的安全审查环节、完善CI/CD管道中的静态检查步骤等。

在中长期产品层面,泄露事件可能会促使Anthropic重新评估Claude Code的技术架构设计。部分泄露的功能(如Undercover模式)引发了社区的伦理争议,这意味着Anthropic需要更加审慎地考虑功能的道德边界。同时,对于已经公开的Feature Flags系统,Anthropic可能会加速部分功能的正式发布,以避免竞争对手抢先推出类似功能。

6.3 竞争壁垒削弱分析

从竞争壁垒的角度来看,Claude Code的核心优势主要体现在三个方面:模型能力、工程实现和生态建设。

模型能力层面,Claude Code源码泄露并未触及Claude大模型的核心技术——无论是模型权重、训练代码还是推理优化策略,都完好无损地保存在Anthropic的服务器端。这意味着,Claude模型在代码生成、推理分析等方面的核心能力不会因泄露事件而受到直接削弱。

工程实现层面,Claude Code的工具调用架构、Agent协作机制、四层记忆系统等工程实践的暴露,确实为竞争对手提供了宝贵的参考。虽然复制这些系统需要大量时间和资源投入,但竞争对手至少能够了解到Claude Code的技术选型和设计思路,从而在架构决策上少走弯路。

生态建设层面,Claude Code精心设计的插件系统、7种MCP传输协议、7层配置作用域等生态基础设施的暴露,可能会降低第三方开发者接入Claude Code生态的门槛。但与此同时,生态的开放性是一把双刃剑——它既可能吸引更多开发者参与生态建设,也可能使得Claude Code更容易被替代方案所取代。


七、安全启示与行业建议

7.1 软件供应链安全警示

Claude Code源码泄露事件,本质上是一起因软件供应链安全管理疏漏导致的典型事故。这一事件为整个行业敲响了警钟,提醒我们重新审视AI时代软件供应链安全的严峻形势。

传统的软件供应链安全主要关注依赖库漏洞、恶意代码注入等威胁,而Claude Code事件揭示了另一个容易被忽视的风险点:调试文件和配置文件的不当发布。Source map文件的泄露之所以会造成如此严重的后果,正是因为它在「便利调试」与「暴露源码」之间建立了直接的技术通道。

专家建议,所有软件发布流程都应建立完善的文件清单审查机制,确保敏感调试文件(如.map文件、.env配置、临时测试文件等)不会被意外打包进发布产物。这一建议对于CLI工具尤为关键,因为这类工具的核心逻辑往往运行在用户本地,不像Web应用那样可以将关键代码部署在后端服务器上。

7.2 发布流程管控建议

针对Anthropic暴露出的发布流程缺陷,本报告提出以下改进建议:

建立自动化检测机制:在CI/CD管道中集成source map等调试文件的自动检测步骤,确保任何包含调试信息的构建都会被标记并阻止自动发布。类似地,应建立敏感文件清单库,对所有已知可能泄露源码的文件类型实施打包前扫描。

实施发布前的双人审查制度:对于涉及生产环境发布的变更,应要求至少两名工程师进行代码审查,确保发布配置的正确性。这种human-in-the-loop的设计虽然会增加发布延迟,但能够显著降低「一键误发布」的风险。

建立发布前的安全 Checklist:制定详细的发布前安全检查清单,包括但不限于:依赖库审计、敏感信息扫描、调试文件清理、权限配置验证等步骤。每一项检查都应有明确的执行标准和通过标准。

定期进行安全演练:模拟各类安全事件的应急响应流程,确保团队在真正遇到问题时能够快速、准确地做出反应。同时,通过演练发现现有流程中的薄弱环节并持续改进。

7.3 AI行业安全最佳实践

Claude Code事件不应被视为孤立的个案,而应成为整个AI行业反思和进步的契机。本报告建议所有AI公司从以下几个维度加强安全实践:

代码可见性与技术保护之间的平衡:Claude Code的案例表明,过度追求代码的「可调试性」反而可能成为安全漏洞。对于核心产品功能,公司应审慎评估哪些代码确实需要保留调试信息,哪些可以完全关闭调试通道。

AI特有问题处理:AI产品通常包含大量提示词工程、系统设计模式等软性知识产权。虽然这些内容难以通过传统的代码保护手段来防护,但公司可以通过法律协议、访问控制等方式降低泄露风险。

建立AI安全事件的行业共享机制:当前,AI公司的安全事件往往被视为「家丑」而尽量低调处理。然而,行业整体的健康发展需要透明的信息共享。建议建立AI安全事件的行业通报机制,让每家公司都能从他人的教训中学习。


八、结论与展望

8.1 核心结论

通过本次深度分析,本报告得出以下核心结论:

第一,Claude Code源码泄露事件是一起因发布流程管理疏漏导致的重大技术安全事故,虽然未涉及模型权重或用户数据,但对Anthropic的品牌信誉和技术护城河造成了实质性损害。

第二,泄露的51.2万行代码为竞争对手和社区提供了研究Claude Code技术架构的宝贵资源,多项隐藏功能的曝光可能会加速AI编程工具行业的竞争演化。

第三,Claude Code泄露事件与5天前Mythos模型文档泄露事件共同暴露了Anthropic在运营安全方面的系统性缺陷,这家以「AI安全」为己任的公司需要在内部流程管控上做出显著改进。

第四,从技术角度来看,Claude Code展现了相当高的工程水准——四层记忆系统、多Agent协作架构、七层安全防护等设计都具有较高的创新性和参考价值。

8.2 未来展望

展望未来,Claude Code源码泄露事件可能产生以下深远影响:

加速AI编程工具的技术收敛:Claude Code核心架构的公开,可能会引发行业内一波技术方案的借鉴与融合,推动整个AI编程工具赛道的技术水平提升。

重塑竞争格局:虽然Claude Code短期内不会因泄露事件而失去市场领先地位,但竞争对手的追赶速度可能会加快。到2026年底,AI编程工具市场可能出现更激烈的竞争态势。

推动安全标准升级:此次事件将成为AI行业加强软件供应链安全的催化剂,预计更多公司会建立更严格的发布管控机制和代码审查制度。

社区生态活跃:泄露代码将激发出开发者社区的创新热情,基于Claude Code的二创项目和增强插件可能会大量涌现,丰富AI编程工具的生态系统。

相关代码链接:

https://github.com/ChinaSiro/claude-code-sourcemap

https://github.com/chauncygu/collection-claude-code-source-code

https://x.com/CoooolXyh/status/2038906318027899324?s=20 

https://x.com/mark_k/status/2038905716270936419?s=20