一个容量为59.8MB的地图文件意外泄露了Anthropic的核心编程产品,但这并非黑客攻击或内部泄密事件,而是发布时的疏忽所致。
在3月31日,安全专家Shou Chaofan在npm注册表中发现了一个不应该存在的东西。

Anthropic开发的人工智能编码工具Claude Code,在其最新版本v2.1.88(于3月31日发布)的npm包里包含了一段59.8MB的源映射文件,即cli.js.map。这个文件的作用是将压缩后的代码恢复为人类可读的原始TypeScript格式。
也就是说,Anthropic不小心把自家产品的源代码打包进公开发布的软件中了。
Shou Chaofan使用X平台上的用户名@Fried_rice分享了他的发现,并附上了完整的src.zip文件链接。短短几个小时内,这条帖子就获得了超过660万次的浏览量。
这不是第一次。
在2025年2月,Claude Code的一个早期版本因为同样的问题被曝光。当时Anthropic从npm上撤下了旧版并删除了源映射文件。然而一年之后,类似的问题再次发生。
源代码泄露揭示了什么?
此次泄漏的代码包包含1906个专有的Claude Code源文件,涵盖了内部API设计、遥测分析系统、加密工具、进程间通信协议等核心内容。整个项目大约有2300多个文件,包括103个命令文件、146个组件、67个钩子和45个工具模块,以及插件和服务端代码。
有人将恢复后的源码上传到了GitHub上,在被发现后几个小时内就获得了超过1100个星标和1900次复刻。尽管Anthropic随后发出了DMCA版权删除通知,但源码已被广泛保存下来。

在泄露的代码中,一个名为ost-tracker.ts的文件引起了社区的关注,该文件可能揭示了计费机制。
对于普通用户而言,这次泄漏并不直接构成安全威胁。被曝光的是Claude Code命令行工具的客户端实现代码,并不包括模型权重或用户数据。用户的个人对话记录并未因此而泄露。真正公开的是这个工具的内部架构、安全措施和遥测机制:它如何通信、收集使用数据以及构建的安全层。
02隐藏于代码中的“惊喜”
当开发者们开始查看泄露的源码时,他们发现Anthropic在Claude Code中藏了一些从未公开的功能。
最受关注的是一个名为BUDDY的电子宠物系统。它像拓麻歌子一样,会在输入框旁边显示对话气泡。根据泄露的信息,每个用户ID的哈希值都会生成一只宠物,共有18种不同的物种:鸭子、龙、蝾螈、水豚、蘑菇和幽灵。
这些宠物稀有度从普通到传说级别不等,并且可以佩戴帽子和其他装饰物。每只宠物具有五个属性:调试、耐心、混乱、智慧和吐槽,由Claude生成名字和性格,并配有精灵动画和心形特效。BUDDY计划在4月1日至7日进行预告式推出,并于5月正式上线,首先由Anthropic员工试用。
另一重大发现是KAIROS——一个名为“始终在线的Claude”的持久助手模式。它可以跨会话持续工作,将记忆日志存储在私有目录中,并通过夜间整理梦境来管理信息,还能启动任务。代码详细描述了午夜边界处理机制,以确保梦境进程不会出错。
泄露的源码还提及ULTRAPLAN——一种用于云端远程规划会话长达30分钟的功能,以及协调员模式,允许一个Claude实例生成并管理多个工作智能体。
另外还有Auto Mode,它利用AI分类器自动批准工具权限,无需弹窗提示。还有一个名为Undercover Mode的特性,专为Anthropic员工设计,在公共代码库中启用时会移除所有AI归属痕迹且无法关闭。
X平台用户总结了这些发现,并在最后写道:“不确定我们是否还能见到这些功能。”

Reddit和Hacker News上的讨论迅速升温。一些人称这份代码库为“宝藏”,因为它包含了大量未完成或未公开的想法。
03开发者从泄露的代码中看到了什么?
开发者@devmelv在X上分享了他对泄露源码的观察,他正在构建AI应用,并从中发现了几个值得注意的设计思路。

关于上下文处理,Claude Code每次对话都会加载CLAUDE.md文件,而不是仅在会话开始时加载一次。Anthropic创建了一整套文件层次结构来可靠地注入上下文:全局偏好设置、项目级规则、模块化规则文件以及私有的gitignore忽略的笔记。每条消息都要重新读取4万个字符。他的结论是:持久且结构化的上下文,不是后期添加的功能,而是从第一天起就要承载一切的基础架构。
关于并行处理,在派生子智能体时,Claude Code会创建一个与父上下文完全相同的字节副本,并通过API缓存它们。五个智能体的消耗成本与单一智能体大致相当,因为它们都使用了同一个提示缓存。这是一个产品层面的设计决策,而非性能层面的取巧。Anthropic根据其自身API定价模型来设计产品。
关于权限管理,每次弹窗询问用户授权都被视为配置失败。源码里有一个五级设置联动机制和一个自动模式,使用LLM分类器自行决定权限,无需再问用户。他们用AI来决策AI能做什么。他认为,每个摩擦点本质上都是一个配置问题。
关于会话连续性,每一段对话都会被保存到JSONL文件中,并支持恢复、分支和继续等功能。系统还内置了“会话记忆”机制,在上下文压缩过程中自动提取任务规范、决策与学习成果。大多数人在每次使用时都是重新开始的,这会导致模型已经了解的所有项目信息丢失。
他列出了一个数据:Claude Code拥有60多个工具、25多个生命周期钩子和五种上下文压缩策略,以及带有指数退避的重试系统、出错时的降级机制、为中断设计的流式架构、IDE桥接器、语音输入、多智能体协调器及宠物伙伴精灵。而大多数AI演示只有大约500行代码。
04最讽刺的一次泄露
这次泄露在社交媒体上引发了广泛的讨论。
一位小红书博主“AI爱好者”写道:“Claude Code从闭源变为开源,只因发布npm包时忘记删除一个文件所致。”这不是黑客攻击或内部泄密事件,而是构建产物中多带了一个‘能反推源码关系’的映射文件。

他还举了个例子:“source map是什么?正常情况下发布的代码会被压缩混淆成人类难以读懂的形式。但是有了source map,就能将其还原回来。”
“AI爱好者”批评称:“讽刺的是,Anthropic作为全球最强调人工智能安全的公司之一,在自己核心产品的源码因为忘记删除一个文件而全部暴露后仍然声称重视安全、对齐和责任。”
另一位小红书博主“机器之心”也提到了这件事:“网上流传Claude Code的源代码被大规模还原,导火索是在发布npm包时遗留了source map。这不是黑客攻击或员工误操作,而是一个构建产物中多带了一个‘能反推源码关系’的文件,结果被人顺藤摸瓜。”

截至发稿时,Anthropic还没有对此事发表任何公开声明。这次事件可能会促使人们对AI公司的软件发布流程进行审视,特别是这些公司正在开发越来越多被全球开发者和企业使用的工具。
