正在刊行长文 · Essay
2026-06-01所有内容
随机比特 · Random Bits

如何把 AI 关进笼子里?深度解析 Anthropic 首度公开的 Agent 沙箱架构

2026-06-01AI Engineering / Systemsrbits.uk

最近的安全圈可谓是风声鹤唳。 就在本周,微软的内部 AI 助手 Copilot Cowork 爆出了一桩严重的安全丑闻:该智能体在执行任务时,居然将用户的私密文件外发到了不可控的外部环境。这一事件引发了企业级客户对 AI 部署的极大恐慌。 当 AI 不再只是陪你聊天的“文本生成器”,而是演变成了拥有文件读写权限、能执行…

如何把 AI 关进笼子里?深度解析 Anthropic 首度公开的 Agent 沙箱架构

最近的安全圈可谓是风声鹤唳。

就在本周,微软的内部 AI 助手 Copilot Cowork 爆出了一桩严重的安全丑闻:该智能体在执行任务时,居然将用户的私密文件外发到了不可控的外部环境。这一事件引发了企业级客户对 AI 部署的极大恐慌。

当 AI 不再只是陪你聊天的“文本生成器”,而是演变成了拥有文件读写权限、能执行终端命令、甚至能在后台异步持续运行的 Agent 时,一个致命的问题摆在了所有架构师面前:如何防止这头越来越聪明的野兽“越权”?

在这个信任危机的节骨眼上,Anthropic 极其罕见地发布了一份硬核的技术白皮书,首次详细披露了他们在 Claude.ai、Claude Code 以及团队版 Cowork 产品中所使用的底层沙箱隔离架构。

这份文档不仅是一次完美的公关,更为整个行业提供了一套教科书级别的 Agent 安全设计范式。今天,我们就来深度剥开这套把 AI“关在笼子里”的隔离架构。


一、剥洋葱:Anthropic 的三层硬隔离防御

如果你以为给 AI 开一个普通的 Docker 容器就算是“隔离”了,那简直是大错特错。在大模型的提示词注入(Prompt Injection)攻击面前,普通的容器逃逸就像一层窗户纸。

Anthropic 设计了一套纵深防御(Defense in Depth)体系,包含三个坚固的防护层。

<figure><img src=“images/01-sandbox-architecture.png” alt=“Anthropic 的 Agent 三层沙箱隔离架构” /></figure>

第一层:进程级沙箱 (Process Sandboxing)

Anthropic 没有停留在常规的容器化层面,而是深入到了 Linux 内核的控制边界。 他们利用组合的 Linux 命名空间(Namespaces)和控制组(Cgroups)严格限制了进程的资源可见性和消耗。更关键的是,他们部署了极其严格的 Seccomp-bpf 过滤器。这意味着,即使 Agent 生成并执行了恶意代码,它也被剥夺了调用危险系统调用(Syscalls)的权利,例如它无法执行 ptrace 来调试外部进程,也无法挂载(mount)任何外部文件系统。

第二层:短暂微虚拟机 (Ephemeral MicroVM)

如果进程沙箱被极其复杂的 0day 漏洞击穿了怎么办?Anthropic 在外部包裹了一层基于硬件虚拟化(类似 AWS Firecracker 或 KVM)的微虚拟机。 这个防御层的核心机制是**“短暂无状态(Ephemeral)”**。Agent 每次执行任务,都是被扔进一个瞬间冷启动的全新微型 VM 中。一旦会话结束或发生异常,整个虚拟机实例会被瞬间销毁,不留任何痕迹。这种设计从物理级别阻断了恶意状态的跨会话驻留。

第三层:网络出口与文件系统封锁 (Egress & FS Boundaries)

如何防止数据渗出(Data Exfiltration)?Anthropic 采用了最残酷的“默认拒绝(Default-Deny)”策略。 Agent 运行的环境在网络上如同一个孤岛,出站流量(Egress)被严格管控,只能访问由中央安全网关校验过的白名单地址(如必要的 npm 镜像源或特定的 GitHub 仓库)。在文件系统层面,Agent 眼前所见的根目录 /,其实是经过 Chroot 处理的伪装目录,它根本不知道沙箱之外还有真正的宿主机硬盘。


二、架构的灵魂:“凭证不入沙箱”原则

在长达数页的白皮书中,最值得业界学习、也是整个架构设计哲学中最闪光的一句话是:

“如果凭证(Credentials)从未进入沙箱,Agent 就无法泄露它们。”

这是一个极其深刻的架构洞察。

在过去的一年中,我们看到无数开发者在构建自己的 Agent 时,犯下了一个致命的低级错误:直接把 AWS_ACCESS_KEY_ID、数据库密码或是 GitHub Token 作为环境变量,硬塞给运行 AI 脚本的容器

在 Anthropic 看来,这就是在埋雷。因为无论你的边界多么坚固,只要大模型遭遇了巧妙的 Prompt Injection,它就有可能被诱导在日志中打印出这些环境变量,或者将其发送到黑客控制的服务器。

Anthropic 的解法是:降权代理执行。

在他们设计的架构中,Agent 所在的沙箱内部,是一个彻头彻尾的“零高权限 Token”环境。 当 Agent 真的需要访问外部云资源或读取受保护的企业数据库时,它不能直接发起请求。它只能通过本地的 IPC(进程间通信)机制,向沙箱外部的高权限“安全网关(Security Gateway)”发送一个格式严格的、代表其意图的中间态 RPC 消息。

安全网关接收到请求后,会扮演一个冷酷的海关检查员,执行极度严苛的 IAM(基于角色的访问控制)权限校验和参数清洗。只有当校验通过后,网关才会使用它自己持有的物理级 Token 替 Agent 发起真实请求,并将结果安全地传回给沙箱。

在这个模型下,Agent 成了真正的“傀儡”。哪怕它彻底被黑客夺取了控制权,它所能造成的破坏(爆炸半径,Blast Radius),也被死死地限制在了那个毫无价值的沙箱虚拟机之内。


三、结语:AI 的能力越大,笼子就必须越厚

在这个人人都在吹捧“AI 能在几秒钟内替你重构整个系统”的狂热时代,Anthropic 的这份白皮书像一盆冷水,浇醒了许多盲目狂奔的架构师。

当我们把代码库的钥匙、生产环境的执行权、甚至真实账户的资金支配权交给这些“聪明的黑盒”时,我们不能再抱有任何天真的幻想。

在构建企业级 Copilot 和智能体基础设施时,我们必须在系统设计的最初阶段,就把 AI 预设为一个**“极具能力、极具价值,但随时可能被挟持的受限实体”**。

放弃让大模型直接 eval() 执行代码的危险操作,拥抱无状态虚拟机,坚守“最小权限(Least Privilege)”与“凭证不入沙箱”的铁律。

因为在 AI 的纪元里,决定一个系统能走多远的,往往不是模型推理的速度,而是关住那个模型的那把锁,究竟有多坚固。


随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。