Anthropic 近日发布了一篇关于其沙盒(sandboxing)技术的详细说明,介绍了这些技术如何在 Claude.ai、Claude Code 和 Cowork 三款产品中落地。这篇文档之所以受到关注,是因为安全类产品通常很少被完整地公开记录下来,而缺乏细致说明时,用户很难判断自己能在多大程度上信任这些隔离机制。Simon Willison 在其博客中特别提到这一点,并称 Anthropic 的这份概览“非常出色”。
根据 Anthropic 的描述,其核心思路是通过进程沙盒、虚拟机、文件系统边界和出站流量控制来约束智能体(agent)能够行动的范围与方式。官方给出的目标是给智能体可触及的资源划定一条硬性边界。他们举了一个直观的例子:如果凭证从未进入沙盒内部,那么无论泄露的起因是用户操作、模型自己找到了一条“创造性”的路径,还是外部攻击者,这些凭证都不可能被窃取出去。这种设计把安全重心从“事后检测”前移到“从结构上让风险无法发生”。
在不同产品中,Anthropic 采用了不同的隔离方案。面向普通用户的 Claude.ai 运行在 gVisor 之上;本地运行的 Claude Code 在 macOS 上使用 Seatbelt,在 Linux 上则使用 Bubblewrap;而 Claude Cowork 则运行在一个完整的虚拟机中,在 macOS 上基于苹果的 Virtualization 框架,在 Windows 上则使用 HCS。这种按产品形态分层的做法,反映了不同使用场景对隔离强度和性能开销的不同需求。
这份文档还包含了不少细节,其中包括一些他们曾经遗漏的风险案例。例如此前已经被报道过的 api.anthropic.com/v1/files 文件外泄路径,就作为一个值得复盘的真实事件出现在说明中。这类案例对于评估沙盒是否可靠尤为重要,因为它们展示了理论边界与实际攻击面之间的差距,也让读者能更清楚地理解为什么出站流量控制必须与文件系统和进程隔离配合使用。
对 Simon Willison 而言,这篇文章也提醒他该重新审视 Anthropic 开源的 srt(Anthropic Sandbox Runtime)工具了。他认为该工具已经足够成熟,现在正是认真试用的时候。整体来看,这篇发布既是一份工程透明度上的示范,也为其他构建智能体产品的团队提供了一个可参考的隔离设计框架:明确边界、分层防护、并对已知漏洞保持公开复盘。