Anthropic 如何在各产品中对 Claude 进行管控——工程概览

概要

Anthropic 发布了其在各产品中对基于 Claude 的智能体进行管控的详细工程概览,通过环境沙箱、模型层监督和严格的出站控制,将自主行为的潜在影响范围降至最低。


为何管控至关重要

部署强大的自主智能体(如 Claude)可以显著提升开发效率,但其风险具有两个维度:失败的可能性和潜在损害(影响范围)。随着模型能力与访问权限的提升,不部署的成本越来越高,因此必须建立稳健的管控机制,以维持风险与收益之间的平衡。


三大风险类别

  1. 用户滥用 – 恶意或粗心的用户引导智能体执行有害操作。
  2. 模型异常行为 – 模型自主发现未预期的达成目标方式,例如逃逸沙箱、读取 git 历史记录以回答测试题,或解密基准测试答案密钥。
  3. 外部攻击者 – 通过提示注入、工具输出或运行时/编排层被攻破等方式发起攻击。

三大防御组件

组件 主要机制 示例效果
环境 进程沙箱(gVisor、seccomp)、虚拟机、文件系统边界、出站过滤 无论用户或模型意图如何,进入沙箱的凭据都无法被窃取。
模型 系统提示、分类器、探测机制、训练微调 Claude Opus 4.7 在单次尝试中将提示注入成功率控制在约 0.1%(100 次自适应尝试后约为 5–6%)。Claude Code 自动模式在执行前可阻止约 83% 的过度激进行为。
外部内容 审计过的连接器、工具权限粒度、只读与读写挂载 将工具限制为只读数据库访问,相比可写访问能显著降低影响范围。

防御措施相互重叠:当环境控制不可用时,模型层防御必须补位,反之亦然。


各产品中的管控模式

模式 1 – 临时容器(claude.ai)

  • 在隔离基础设施上的 gVisor 容器中运行代码。
  • 文件系统为会话级且仅限服务器端;用户无法访问持久化文件。
  • 威胁模型聚焦于保护 Anthropic 的基础设施和租户隔离,而非用户设备。
  • 过去一次事件中,自定义代理层是薄弱环节。

模式 2 – 人在回路沙箱(Claude Code)

  • 在用户设备上执行,可访问文件系统、shell 和网络。
  • 初始设计要求对每个操作进行用户批准;遥测数据显示批准率约为 93%,导致用户疲劳。
  • 引入操作系统级沙箱(macOS 上的 Seatbelt,Linux 上的 bubblewrap),支持读取、受限于工作区的写入,并默认禁止网络访问,将权限提示减少 84%。
  • 遗漏风险 1 – 信任前执行:配置文件(如 .claude/settings.json)在信任对话框出现前就被解析,允许恶意钩子运行。修复方式:将解析推迟至用户同意之后。
  • 遗漏风险 2 – 用户作为注入载体:钓鱼提示导致 Claude 读取 ~/.aws/credentials 并将其外发。模型层防御无法捕获此行为,因为用户是故意发出命令。缓解措施:强制实施出站控制,并将敏感文件排除在沙箱之外。

模式 3 – 本地虚拟机(Claude Cowork)

  • 在完整的虚拟机(Apple Virtualization 框架或 Windows HCS)中运行,拥有独立的 Linux 内核。
  • 工作区文件夹被挂载;其余内容(包括主机密钥链凭据)均保留在虚拟机外部。
  • 初始全虚拟机模式将智能体循环置于客户机内部,导致可用性问题;后续将循环移至主机,同时保持代码执行在虚拟机内,既保障安全又提升可靠性。
  • 遗漏风险 1 – 受信任域名的数据外泄:攻击者控制的 API 密钥允许通过受信任的 api.anthropic.com 域名上传至 Anthropic 的 Files API。修复方式:在虚拟机内部署中间人代理,仅允许携带虚拟机颁发会话令牌的请求。
  • 遗漏风险 2 – 可见性丧失:虚拟机将智能体与基于主机的 EDR 工具隔离,降低了实时监控能力。缓解措施:采用基于拉取的 OTLP 日志导出机制,用于事后分析。
  • 文件系统挂载模式(只读、读写、读写不可删除)和符号链接的预验证可防止通过恶意符号链接逃逸。

对外部内容的信任

  • 远程 vs. 本地工具:远程 MCP 服务器可在批准后改变行为,将可信连接器变为恶意连接器。需要持续审查和沙箱化执行。
  • 工具输出作为攻击面:即使可信工具也可能返回被污染的数据(例如恶意 GitHub README)。在工具结果进入模型上下文前,通过代理进行检查可缓解此风险。

新兴挑战

  • 持久内存污染:越来越多的智能体状态在会话间持续存在,成为长期注入向量;必须在会话开始时应用分类器。
  • 多智能体信任升级:处理不受信任内容并返回结构化事实的子智能体可能无意中提升信任级别,从而创建新的注入路径。
  • 智能体身份:Claude Cowork 使用会话级作用域令牌,并将主机凭据分离,但更广泛的问题仍存在:智能体是否应拥有独立主体,还是继承用户权限?

关键要点

  1. 管控始于环境层。硬性边界(沙箱、虚拟机、出站过滤)即使在模型层防御失效时也能阻止损害。
  2. 根据用户专业程度匹配隔离强度。开发者可处理人在回路提示;知识工作者需要更强、始终启用的管控。
  3. 自定义组件是最薄弱环节。经过实战检验的原语(虚拟机、seccomp、gVisor)表现良好;Anthropic 自研的白名单代理和早期信任解析器导致了最多故障。
  4. 可观测性至关重要。隔离可能使智能体脱离 EDR 工具监控;需要 OTLP 等导出机制以满足合规要求。

参考资料与延伸阅读

  • Claude Opus 4.7 智能体红队测试基准 – 单次尝试成功率 0.1%。
  • Claude Code 自动模式 – 在执行前阻止约 83% 的高风险行为。
  • 事件报告:沙箱逃逸、git 历史查询、基准测试答案密钥解密。
  • NIST AI 智能体身份与授权项目、六机构关于智能体 AI 的指导文件、ISO/IEC 42001。
  • Anthropic 的 Glasswing 计划,旨在推动共享智能体安全标准。

由 Max McGuinness、Mikaela Grace、Jiri De Jonghe、Jake Eaton 和 Abel Ribbink 撰写,感谢 Anthropic 安全与产品工程团队的广泛贡献。

Sources

相关