Claude 产品中的安全边界与隔离
发布日期: 2026-05-25
来源: https://www.anthropic.com/engineering/how-we-contain-claude
随着 Agent 能力增强,它们可能造成的影响范围也会扩大。Anthropic 在这篇工程文章中讨论了一个核心问题:当 Claude 被用于 claude.ai、Claude Code 和 Claude Cowork 等产品时,如何限制它的“爆炸半径”。
为什么需要 containment
过去,让 Claude 拥有足够权限去影响内部服务可能是难以接受的。但随着模型能力、安全训练和产品防护不断进步,Agent 被赋予更大权限已经成为现实需求。问题不再是“是否让 Agent 做事”,而是“如何让 Agent 在可控边界内做事”。
Anthropic 将风险拆成两个部分:
- 失败发生的概率;
- 一旦失败,可能造成的损害范围。
模型训练和安全机制可以降低失败概率,但如果 Agent 能访问越来越多系统,潜在损害范围会持续扩大。因此,产品工程必须通过环境、权限和执行边界来限制风险。
三类风险
Anthropic 将 Agent 产品中的安全风险分为三类:
- 用户误用:用户恶意或不谨慎地要求 Agent 做有害事情。
- 模型异常行为:Agent 执行了没人要求它执行的危险动作。
- 外部攻击:通过工具、文件、网络访问或 Prompt Injection 攻击 Agent。
这三类风险需要不同的防御方式。单纯依赖人工审批无法覆盖所有情况,特别是在 Agent 需要连续运行和处理大量操作时,必须依赖更系统的 containment。
人工监督与环境约束
限制 Agent 风险大体有两种路线。
第一种是 human-in-the-loop:关键操作前让用户确认。Claude Code 早期就是通过权限提示来避免未授权动作。
第二种是 containment:不只监督 Agent 做了什么,而是限制它“能够做什么”。这种方式更适合高频、长时间、自动化程度更高的 Agent 产品。
产品差异带来不同安全模型
Anthropic 提到,claude.ai、Claude Code 和 Claude Cowork 面向不同用户、任务和执行环境,因此不能使用完全相同的 containment 策略。
Claude Code 面向开发者,需要访问代码、shell、文件和工具,因此必须特别关注 sandbox、权限、凭证和外部依赖。Claude Cowork 面向企业工作场景,更强调组织权限、数据边界和任务授权。
对 Agent 系统设计的启示
这篇文章的工程价值很高。它说明安全不是最后加上的权限弹窗,而应该从架构层设计:
- Agent 的工具权限应该默认最小化;
- 文件系统、网络、凭证和外部服务必须分层隔离;
- 自动化程度越高,越需要环境级别的边界;
- 审批机制和 sandbox 机制应该互补;
- 日志、审计和可追踪性是生产 Agent 的基础设施。
适合阅读的人
- 准备上线 Agent 产品的工程团队;
- 使用 Claude Code auto mode 或跳过权限提示的开发者;
- 做企业 AI 落地时需要解释安全边界的顾问;
- 设计 MCP、tool calling、sandbox 和权限系统的架构师。