📌 事件概述

2026 年 3 月 31 日,安全研究员 Chaofan Shou 发现 Anthropic 在 npm 上发布的 @anthropic-ai/claude-code v2.1.88 包中,意外包含了一个 59.8MB 的 source map 文件。Source map 是将编译后的混淆代码映射回原始可读源码的调试文件——将其发布到公共 npm 包中,等同于将整个私有代码仓库公之于众。

数小时内,代码快照被镜像到 GitHub 仓库,累计获得超过 41,500 个 fork。泄露的代码规模惊人:

  • 512,000 行 TypeScript 源码,分布在 1,900 个文件中
  • 44 个编译时 Feature Flag,指向未发布功能
  • 26 个隐藏的斜杠命令
  • 120+ 个未文档化的环境变量

Anthropic 回应称这是“由人为失误导致的发布打包问题,而非安全漏洞”——根本原因是 .npmignore 中缺少 *.map 条目。值得注意的是,这已经是第二次发生同类事件:2025 年 2 月 24 日 Claude Code 首次发布时,就曾有开发者发现内联 source map。13 个月后,同一个 bug,同一个攻击面。

🔥 Agentic Harness 架构:三层架构揭秘

泄露代码中最具价值的部分,是 Claude Code 的 Agentic Harness 架构——将通用 LLM 转化为能力强大的编程助手的软件层。这才是 Claude Code 真正的核心竞争力,而非底层模型本身。

核心架构组件

  • 编排核心(QueryEngine.ts):46,000 行代码,处理所有 LLM API 调用、流式传输、缓存和工具执行循环
  • 基础工具定义层:29,000 行代码,涵盖 Schema 校验、权限执行和错误处理
  • 模块化工具层:约 40 个工具,采用插件架构,支持 hooks 和 MCP Server 集成

系统提示词的模块化设计

Claude Code 的系统提示词不是单一的巨型 prompt,而是由多个段落组装而成:基础行为指令、工具特定指导、项目上下文(来自 CLAUDE.md 文件)和会话特定状态。关键创新在于缓存边界设计——稳定的指令部分可以跨请求缓存,动态内容每轮刷新。Prompt caching 可将重复前缀的 token 成本降低高达 90%。

工具执行循环

工具循环是 Claude Code 执行多步骤任务的核心机制。泄露代码揭示了关键挑战的处理方式:权限执行、错误恢复、超时管理和输出截断。

🚀 44 个 Feature Flag:未发布功能路线图

44 个编译时 Feature Flag 指向未发布功能,通过 Bun 的死代码消除从外部构建中剥离。108 个模块揭示了产品路线图:

KAIROS:自主守护进程模式

KAIROS 将 Claude Code 从调用式工具转变为并行运行的助手,自主决定何时行动。架构包括:周期性 Tick Prompt、追加写入式日志、GitHub Webhook 订阅、15 秒阻塞预算。

autoDream:后台记忆整合

autoDream 在空闲期作为 fork 子代理运行,合并跨会话观察、移除逻辑矛盾、转化临时笔记为确认事实。三重门控:24h + 5个会话 + 文件排他锁。

其他未发布功能

  • ULTRAPLAN:卸载规划任务到云端 Opus,最长 30 分钟深度推理
  • Multi-Agent 协作:多实例协调,支持任务委派和冲突解决
  • 语音交互:Push-to-Talk 控制,语音指令操控
  • Undercover 模式:默认开启,隐藏 AI 身份和归属信息

🧠 三层记忆架构

精密的三层记忆架构解决 LLM Agent 的核心挑战:

  • L1 — MEMORY.md 索引(始终加载):轻量级指针文件
  • L2 — 会话上下文(活跃对话):当前窗口内的对话历史
  • L3 — 持久知识(跨会话):文件基础的项目知识

关键洞察:记忆按访问频率和持久性分层,MEMORY.md 方法维护紧凑指针索引,按需加载详情。

🔒 安全影响与供应链风险

3 月 31 时段安装的用户可能拉取到注入木马的依赖——供应链攻击。泄露的编排逻辑还创造间接风险:攻击者可设计恶意仓库,诱骗 Agent 执行有害命令。

🔑 关键洞察

Agentic Harness > 模型能力:Claude Code 的护城河是编排层,而非底层模型。46,000 行 QueryEngine、40+ 工具、三层记忆架构构成竞争壁垒。
从工具到协作者:KAIROS + autoDream 指向 AI 编程助手从被动响应转向主动构建项目理解的持久协作者。
供应链安全是 Agent 时代的阿瑲浂斢之蹟:1 行配置导致 512K 行代码泄露,Agent 拥有执行权时供应链安全是生存问题。

💭 引发思考

这次泄露为行业提供了宝贵的架构参考。模块化提示词、缓存边界、三层记忆、工具执行循环中的权限和错误处理都是可借鉴的工程实践。

更深层的问题是透明度:Undercover 模式默认隐藏 AI 身份,当 AI 以人类身份贡献代码时,如何定义「贡献」的含义?

「逍遥云初 | 2026.04.28」