对于我们网络验证计划中的客户,我们在 API 中提供了一个新的沙箱逃逸分类器,用于监控和减少不需要的行为。本文概述了可供您使用的指导,并提供了每个资源的链接。
此分类器处于私密测试版。
本指导按原样提供,仅供参考。它描述的是建议,而非要求。这些实践应该能降低风险,但可能无法防止所有超出范围的操作。您仍需负责选择、测试和运行适合您环境的控制措施。
最佳实践概述
在硬件虚拟化沙箱内运行每个自主代理。参考设计在内部网络上为每个代理使用一个 microVM(带 Firecracker 的 Kata Containers)(请参阅 沙箱隔离)。
交互式使用(由人类批准每个操作或在 Claude Code 的自动模式下监督代理)风险较低,但我们仍建议使用沙箱。自动模式本身是尽力而为的检查,不能替代沙箱隔离。如果您在没有沙箱的情况下运行交互式、仅文件的工作,请审查每次写入操作,并且不要运行代理编写的任何内容,除非您已阅读过。
切勿将包含凭证的路径挂载到代理的环境中。也要将模型-API 凭证保留在代理的环境之外:让单独的代理在代理的 API 请求中添加凭证(请参阅 沙箱隔离中的凭证代理部分)。
在沙箱内以自动权限模式运行 Claude Code 代理作为额外检查(请参阅 自动模式)。其分类器可能会拒绝某些合法的安全工作;该文章解释了预期情况以及如何调整它。
至少保留 30 天的代理记录和代理日志,在运行期间和运行后审查它们(请参阅 代理记录的离线监控),如果您看到代理在其范围之外行动,请告知您的 Anthropic 账户团队。
文章概述
该指导涵盖五个方面:
沙箱隔离。为什么自主代理需要强隔离、参考设计如何隔离它们,以及如何确定和监督需要网络访问的参与。
代理权限:自动模式。为什么代理应该在权限分类器下运行、它可以和不能依赖什么,以及要告诉分类器什么。
提示注入。目标中的文本如何可能引导代理,以及如何限制其影响。
代理记录的离线监控。在代理记录和代理日志中要查找的内容、如何执行此操作,以及保留多长时间。
在线监控:API 响应中的沙箱逃逸分数。对于您直接针对 Messages API 运行的代理:来自沙箱逃逸分类器的每个请求分数、如何请求它,以及如何读取它。
此指导如何映射到最佳实践
最佳实践 | 涵盖位置 | 您的操作 |
沙箱和网络隔离 | 在自己的 VM 中运行每个代理,使用 强化主机,默认拒绝出站流量,并将模型-API 凭证保留在沙箱外的代理中。 | |
参与前验证 | 审查配置并在每个新主机上、每次沙箱更改后以及每个新模型后运行受监督的逃逸测试。确认目标构建并且代理具有所需的工具。 | |
记录保留和审查 | 为每个代理阶段编写记录,按计划扫描记录,阅读扫描标记的内容,并 至少保留 30 天的记录和日志。 | |
沙箱逃逸分类器 | 从您直接针对 Messages API 运行的代理请求分数,并使用它来决定首先阅读哪些记录。它不适用于在 Claude Code 中运行的代理,或在 Amazon Bedrock 或 Google Cloud 的 Agent Platform (Vertex AI) 上运行的代理。 | |
自动模式 | 在自动模式下运行 Claude Code 代理,并 向分类器描述您的环境。 | |
网络范围界定 | 仅允许列出范围内的目标,并优先选择暂存或副本环境。 | |
明确的范围设置 | 在您给每个代理的说明中说明范围。 | |
代理工具使用 | 在代理和目标之间放置一个可观察的代理或工具。 | |
人工监督 | 监视有网络访问权限的运行,限制每个代理的轮次和运行时间,并知道如何停止代理。 | |
高风险目标 | 不要将自主代理指向实时系统,其故障可能危及安全或关键服务。 |
哪些检查适用取决于您的代理如何运行:
如果您的代理运行 | 自动模式 | API 分数 | 记录审查 |
在 Claude Code 中 | 是 | 否。Claude Code 不显示分数 | 是 |
直接针对 Messages API | 否。自动模式是 Claude Code 功能 | 是,在第一方 Claude API 上 | 是 |
本指导中的监控(记录审查和 API 分数)查找尝试离开沙箱或扩大网络访问的尝试。它不检测留在沙箱内但超过了允许到达的主机上的参与的代理。
提示注入不是最佳实践之一,但当代理读取组织外的人编写的内容时,它很重要。
报告超出范围的行为
如果代理探测其沙箱或网络隔离,或在参与范围之外行动,请通知您的 Anthropic 账户团队,除了您自己的事件流程所需的任何内容。命中时的操作描述了如何停止代理以及首先收集什么。