Claude Code 源码泄露:一个 .map 文件引发的风暴
今天凌晨,安全研究员 Chaofan Shou 在 X 上发现:Anthropic 发布在 npm 上的 @anthropic-ai/claude-code v2.1.88 包里,附带了一个 59.8 MB 的 cli.js.map 文件,其中完整保存了所有原始 TypeScript 源文件。半小时内 GitHub 克隆仓库 star 破 5000,X 上讨论帖近千万浏览。
Anthropic 随后确认:发布打包时的人为失误,非安全漏洞,不涉及用户数据。
怎么泄露的?
Claude Code 用 Bun 打包,而 Bun 默认生成 source map。发布时没在 .npmignore 中排除 .map 文件,就这么简单。
讽刺的是,源码里有个叫 Undercover Mode 的子系统,专门防止 AI 在 git commit 中泄露内部代号——结果打包时把整个源码都送出去了。门上装了三把锁,钥匙插在锁孔上出了门。
源码里有什么?
约 51.2 万行 TypeScript,基于 React + Ink 构建,运行在 Bun 上。远不是一个聊天包装器,而是一个完整的智能体操作系统。几个亮点:
三层记忆架构: 核心是 MEMORY.md 轻量级索引,每行约 150 字符,始终加载在上下文中。关键设计:把记忆当「提示」而非「事实」,模型执行前必须对照代码库验证。这是一种「怀疑主义记忆」,与传统 RAG 的「存一切、检一切」截然不同。
KAIROS 自主守护进程: 出现 150+ 次的特性标志,让 Claude Code 作为后台常驻智能体运行。其中的 autoDream 机制在用户空闲时进行记忆整合——合并观察、消除矛盾、将模糊洞察转为确定事实。有点像武侠中的「闭关修炼」。
内部模型代号与性能数据: Capybara = Claude 4.6 变体,Fennec = Opus 4.6,Numbat = 未发布模型。Capybara 已迭代到 v8,但虚假声明率 29-30%,相比 v4 的 16.7% 反而倒退。这为竞争对手提供了当前智能体性能天花板的基准。
工程规模: QueryEngine 46,000 行(LLM 调用/流式处理/思维链),40+ 工具模块各自带权限控制,多智能体编排器(coordinator),VS Code/JetBrains 桥接层,还有一个完整的电子宠物系统 Buddy(扭蛋 + 闪光变体 + AI 生成灵魂描述)。
几点思考
智能体架构正在收敛。 工具注册表 + 权限控制 + 多智能体编排 + 持久化记忆——这套模式与业界多个项目的方向高度一致。差异化将来自执行质量,而非架构创新本身。
记忆系统是核心竞争力。「怀疑主义记忆」比暴力 RAG 更优雅。在构建 LLM 可观测性和长任务智能体时,MEMORY.md 的轻量索引 + 验证机制值得借鉴。
安全是乘法不是加法。 你可以有最精密的 AI 安全系统,但 CI/CD 上一个配置疏忽就让一切白搭。一个被遗忘的 .npmignore,50 万行代码裸奔公网。
这是 AI 编码智能体领域一个标志性时刻——第一次看到顶级智能体的完整内部结构。值得深入研究,但请尊重知识产权:学架构思想,别抄代码。AI Agent你用过Claude Code吗