昨天午休时分,我靠在椅背上刷着技术新闻,一条消息让我差点把嘴里的咖啡喷出来——Anthropic,这家以”AI安全第一”著称、估值高达 600 亿美元的公司,竟然亲手把自己最核心产品的完整源代码,上传到了公共互联网上。
这不是黑客入侵,不是内部叛变。就是一个配置文件,忘了删。

事件还原:一个 .map 文件引发的血案
事件的起因简单到近乎荒诞。
2026 年 3 月 30 日,Anthropic 通过 npm 发布了 Claude Code 命令行工具的 2.1.88 版本。然而,这个发布包中意外包含了一个 59.8 MB 的 cli.js.map 文件。
Source Map 文件本是开发阶段的调试工具,用于将压缩、混淆后的 JavaScript 代码映射回人类可读的原始 TypeScript 源码。正常情况下,这种文件只存在于开发环境,绝对不应该出现在发布到公网的软件包里。
但它就在那里。
安全研究员 Chaofan Shou 率先发现了这个问题。解压那个压缩包,里面躺着超过 1,900 个文件,51.2 万行 TypeScript 代码——Claude Code 的完整底层逻辑,就这样赤裸裸地摆在了所有人面前。
泄露了什么?
这不是一个简单的命令行工具。从泄露的代码来看,Claude Code 远比外界想象的复杂得多:
核心架构
- QueryEngine.ts:长达 4.6 万行的核心文件,负责处理所有推理逻辑、Token 计数和思维链循环
- 40+ 工具模块:不仅能读写文件、执行 Bash 命令,还内置了 LSP 协议集成和子代理生成能力
- React + Ink:基于终端 UI 框架,运行于 Bun 运行时
未发布功能
更让人意想不到的是,代码里还藏着几个尚未发布的功能:
KAIROS——永不离线的 AI 守护进程
这是一个具备”持久生命”的自主后台模式。用户空闲时,它在后台持续运行,整合项目记忆、规划下一步任务,甚至处理”午夜边界”的逻辑以防止进程中断。
BUDDY——电子宠物系统
没错,代码里内置了一套完整的 Tamagotchi 风格电子宠物,共 18 个物种(鸭子、龙、水豚、蝾螈……),有稀有度等级、闪光变体,以及调试力、耐心值、混沌度、智慧、毒舌五项属性。
卧底模式(Undercover Mode)
Anthropic 的工程师平时会用 Claude Code 向公开的开源仓库提交代码。为了不暴露”AI 正在参与开源贡献”这件事,系统专门内置了一套反侦察机制。一旦检测到当前仓库是公开仓库,卧底模式自动激活,向模型注入专属系统提示——要求它不能出现内部代号、不能承认自己是 AI。
讽刺的是,这套精心设计的保密系统,随着源代码一起,向全世界公开了。
Anthropic 的回应
事故发生后,Anthropic 向媒体发表了一份简短声明:
“今天早些时候,某个 Claude Code 版本发布中包含了部分内部源代码。这是由人为失误导致的发布打包问题,而非安全漏洞。没有用户数据或凭证受到波及。我们正在推出措施防止此类事件再次发生。”
言简意赅,没有多余解释。
这次事件意味着什么?
1. 技术平权的双刃剑
对于全球 AI 开发者社群而言,这无疑是”天上掉馅饼”。Claude Code 作为闭源标杆,其内部实现对外界而言一直是个”黑箱”。现在,这份”原厂开发手册”被摊开在所有人面前。
泄漏的代码揭示了 Agent 工程化的最佳实践:权限控制与沙箱机制、上下文管理与截断策略、工具调用循环与错误恢复……这些过去需要大量试错才能摸索出的难题,如今都有了清晰的参照物。
可以预见,未来数月内,基于或借鉴 Claude Code 架构的各类 Agent 将大量涌现。
2. 安全隐患不容忽视
但事情还有另一面。
泄露的是一套经过实战检验、代表当前全球最高水准的 AI Agent 工程化实现。这无异于在核武器时代,一个国家意外公开了自己最先进核弹头的完整工程图纸。
- 安全护栏被系统性解构:攻击者可以仔细分析 Claude Code 的安全机制,设计专门的越狱提示词或攻击路径
- 攻击向量被直接揭示:代码可能暴露 SSRF 等潜在攻击向量
- 供应链投毒风险:攻击者可以创建带有后门的”魔改版” Claude Code 进行分发
3. 工程文化的警钟
更值得关注的是,这已是 Anthropic 一周内第二次安全事件。
五天前,由于内容管理系统配置错误,约 3000 份未发布的内部资产(包括 Claude Mythos 模型草案)被公开访问。
这种基础运维层面的反复失误,与该公司在模型安全研究上的前沿投入形成了刺眼的对比。它暴露了一个令人不安的现实:当 AI 公司以惊人的速度推进技术边界时,基础的工程安全实践却在原地踏步。
给我们的启示
作为一个开发者,这件事给我敲响了几个警钟:
1. 自动化检查不是可选项
如果 Anthropic 的 CI/CD 流程中有一道自动检查——扫描发布包中是否包含 .map 文件——这次事件完全可以避免。npm publish 前的自动化安全检查,应该像单元测试一样成为标配。
2. 安全不能只是”研究”,更要是”实践”
Anthropic 在 AI 安全研究上投入巨大,但当一家以”安全”为卖点的公司连基础的代码发布流程都把控不住时,我们不禁要问:他们所说的”AI 安全”,到底是指防止 AI 伤害人类,还是也包括防止人类伤害 AI?
3. 鸡蛋不能放在一个篮子里
这次事件再次提醒我们,不要把核心资产寄托在单一平台或单一流程上。多层防护、纵深防御,这些老派的安全原则在 AI 时代依然适用。
写在最后
有趣的是,这次泄露的时间窗口,与另一起独立的供应链攻击高度重叠。如果你在北京时间 3 月 31 日 8:21 至 11:29 之间通过 npm 安装或更新了 Claude Code,你的项目可能被植入了含有远程访问木马的恶意 axios 版本。
建议立即检查项目锁文件中是否存在 axios 1.14.1 或 0.30.4 版本,或 plain-crypto-js 依赖项。如有发现,视为系统已被完全入侵,需轮换所有凭证并重装系统。
就在各大 AI 公司还在为”开源”还是”闭源”争得面红耳赤的时候,Anthropic 用一种最戏剧性的方式,把底牌直接摊在了阳光下。
51 万行代码、隐藏的电子宠物、抹除痕迹的卧底系统,以及一个叫 Capybara 的下一代模型……
这一夜,全球开发者共享了一份来自硅谷的顶级外卖。
但我们不妨把这看作一个契机——重新审视工程实践与安全文化之间的鸿沟。毕竟,技术可以跑得很快,但安全必须跟得上。
评论
0 条评论