出品 | 网易智能
作者 | 小小
编辑 | 王凤枝
一个59.8MB的map文件,把Anthropic最核心的编程产品扒了个干净。这不是黑客攻击,不是内部泄密,就是发布时忘了删。
3月31日,安全研究员Shou Chaofan在npm注册表上发现了一个不该存在的东西。
Anthropic的AI编码工具Claude Code,在它的npm包(3月31日发布的最新版本v2.1.88)里附带了一个59.8MB的源映射文件(cli.js.map)。这个文件的作用很简单,就是把压缩后的生产代码还原回人类可读的原始TypeScript代码。
换句话说,Anthropic把自家产品的源代码,打包进了公开发布的软件包里。
Shou Chaofan在X平台上以@Fried_rice的用户名发布了这一发现,帖子里直接附上了完整的src.zip文件链接。几小时内,这条帖子浏览量就突破了660万次。
这不是第一次。
2025年2月,Claude Code的一个早期版本就因为同样的原因被曝光。当时Anthropic从npm上撤掉了旧版本,删除了源映射文件。一年之后,同样的问题再次出现。
01源代码泄露了什么?
这次泄露的源代码包包含1906个Claude Code的专有源文件,涵盖了内部API设计、遥测分析系统、加密工具、进程间通信协议等核心内容。整个项目规模约2300多个文件,包括103个命令文件、146个组件、67个hooks、45个工具模块,还有插件系统和服务端代码。
有人把还原出来的代码传到了GitHub上,在发现后的几个小时内,这个仓库就获得了超过1100个星标和1900个复刻。虽然Anthropic随后发出了DMCA版权删除通知,但源码已经被无数人复刻保存。
一个名为ost-tracker.ts的文件引起了社区注意,计费逻辑可能也被暴露了。
不过对于普通用户来说,这次泄露并不直接构成安全风险。泄露的是Claude Code命令行工具的客户端实现代码,不涉及模型权重,也不涉及用户数据。你的个人对话记录没有因此暴露。真正被公开的,是这个工具的内部架构、安全机制和遥测逻辑:它如何通信、如何收集使用数据、安全层是怎么构建的,现在对任何人都是可见的。
02藏在代码里的“彩蛋”
当开发者们开始翻看泄露的源代码时,发现Anthropic在Claude Code里藏了不少从未公开过的功能。
最受关注的是一个叫BUDDY的电子宠物系统。它像一个拓麻歌子,会出现在输入框旁边的对话气泡里。根据泄露的说明,这只宠物由用户ID的哈希值生成,共有18个物种:鸭子、龙、蝾螈、水豚、蘑菇,甚至还有幽灵。
稀有度从普通到1%的传说级别不等,还有帽子、闪亮变种等装饰物。每只宠物有五个属性:调试、耐心、混乱、智慧、吐槽。首次孵化时,Claude会为它生成名字和性格,配有精灵动画和浮动的心形特效。计划在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 Code的CLAUDE.md文件在每一轮对话中都会被加载,不是在会话开始时加载一次,而是每一轮都加载。Anthropic构建了一整套文件层级结构来可靠地注入上下文:全局偏好设置、项目级规则、模块化规则文件,还有私有的、被gitignore忽略的笔记。每条消息都要重新读取4万个字符。他的结论是:持久化、结构化的上下文,不是后期添加的功能,而是从第一天起就要承载一切的基础架构。
关于并行处理,当Claude Code派生一个子智能体时,它会创建一个与父上下文完全相同的字节副本。API会对其进行缓存。五个智能体的消耗成本与一个智能体大致相当,因为它们都命中了同一个提示缓存。这是一个产品层面的设计决策,不是性能层面的取巧。Anthropic是根据自身API的定价模型来设计产品的。他给其他AI产品构建者的建议是:理解所使用的任何模型的价格体系,并围绕它来设计产品。
关于权限设计,Claude Code的每一次权限弹窗都被视为配置的失败。源代码里有一个五级设置联动,还有一个自动模式,用LLM分类器自行决定权限,无需询问用户。他们用AI来决定AI能做什么。在他看来,AI产品中的每一个摩擦点,本质上都是一个配置问题。目标是在已知、可信的工作流程中实现零中断。
关于会话连续性,每个会话都会保存到JSONL文件中。用户可以恢复、分支、继续。系统还内置了“会话记忆”机制,在上下文压缩过程中自动提取任务规范、决策和学习成果。大多数人每次都是重新开始,这丢弃了模型已经了解到的关于项目的所有信息。他为AI产品构建者给出的启示是:为连续性而设计。用户不想每次都重新解释自己。一个能记住的AI,价值是一个不能记住的AI的十倍。
他还列出了一个数据:Claude Code拥有60多个工具、25多个生命周期hooks、5种上下文压缩策略、带有指数退避的重试系统、出错时的模型降级、为中断设计的流式架构、一个IDE桥接器、语音输入、一个多智能体协调器,还有一个宠物伙伴精灵。而大多数AI演示,只有500行代码。他说,花一个周末做出来的东西只是一个概念验证,真正的产品是当真实用户做出你意想不到的事情时,所需要的一切。
04最讽刺的一次泄露
这次泄露在社交媒体上引发了大量讨论。
一位小红书博主“AI爱好者”写道:“Claude Code闭源变开源,只因忘删一个文件。不是被黑客攻击,也不是内部人员泄密,仅仅他们自己发布npm包的时候,忘了把source map文件删掉。就这么简单。一个59.8MB的文件,把整个Claude Code扒了个干净。”
他还打了个比方:“source map是啥?正常发布代码都会压缩混淆,变成一坨人类看不懂的东西。但source map能把它完整还原回来,相当于你把日记锁进保险箱,但把钥匙一起塞进了快递包裹。”
“AI爱好者”还批评称:“说真的这事最讽刺的地方在于,Anthropic是全世界最强调AI安全的公司,天天讲安全、讲对齐、讲负责任,结果自己最核心的产品源码,因为忘删一个文件就全漏了。就是因为发包的时候没检查。这波啊,这波叫安全公司最不安全。”
另一位小红书博主“机器之心”也提到了这件事:“网传Claude Code的源码被大规模还原,导火索居然是发布npm包时遗留的source map。这事儿不是黑客攻击,也不是员工误操作。是构建产物里多带了一个‘能反推源码关系’的文件,结果被人顺藤摸瓜。”
截至发稿时,Anthropic尚未就此事发表任何公开声明。这次事件可能会引发对AI公司软件发布流程的审视,尤其是因为这些公司正在构建的工具正越来越多地被全球的开发者和企业所使用。
热门跟贴