8 月中旬,Docker 正式发布 Sandboxes——一个专门为 AI 编码智能体设计的沙箱工具:每个 Agent 运行在独立的微 VM(microVM)中,拥有自己的内核、文件系统、网络栈和私有 Docker 引擎,宿主机系统、网络与凭证全部隔离在外。有意思的是,这家过去十年反复证明「容器隔离足够用」的公司,这次给出的答案是「容器不够」:对于拥有 shell 权限、可能连续数小时无人监督运行的 LLM Agent,正确的边界不是共享宿主内核的容器,而是超虚拟化层级的微 VM。该工具以 sbx 命令行形式免费提供(含商用),恰逢 Anthropic 将于 8 月 14 日把 Claude Code 的自动执行模式设为付费用户默认选项——两大事件在同一时间窗口交汇,让「Agent 自主运行的安全边界」成为行业焦点。

一、为什么是微 VM 而不是容器:边界语义的转变

Docker 的架构文档给出了明确的论证:容器共享宿主内核,设计初衷是隔离「基本可信」的工作负载,而不是围住一个「正在即兴发挥」的进程——一个能执行 shell 命令的 AI Agent,其威胁模型更接近不可信输入加一双会敲键盘的手。开发者此前的两种绕行方案都不理想:把宿主机 Docker socket 挂进容器,等于把宿主机 Docker 引擎的控制权交给 Agent(逃生通道而非边界);Docker-in-Docker 则笨拙且脆弱。Sandboxes 采用 libkrun 微 VM(macOS 用 Hypervisor.framework、Windows 用 Windows Hypervisor Platform、Linux 用 KVM),每个沙箱有独立内核与独立 Docker daemon——Agent 可以在沙箱内构建镜像、跑 docker-compose、运行集成测试,但永远不会触碰到宿主 daemon。官方测试显示,在真实 Astro 代码库上沙箱构建耗时 1:28、宿主为 1:44,性能开销在噪声范围内。这套设计把「Agent 出错」的爆炸半径从「整台电脑」压缩到「一个可随时丢弃的沙箱」。

二、凭证代理:密钥不出宿主机,白名单管外联

Sandboxes 真正的新意在网络层:每个沙箱背后有一个宿主侧代理,对外联流量执行放行/拦截策略,同时做凭证注入——API 密钥保存在宿主操作系统的钥匙串里,沙箱内只看到占位符,代理在请求出网时把真实的授权头拼接上去。这意味着:被提示词注入的 Agent 无法读取并外传你的 Anthropic 密钥(一个真实存在且已被验证的攻击类别);外联流量默认拦截裸 TCP/UDP/ICMP,仅允许 HTTP/HTTPS 访问白名单域名,且代理会记录访问日志。Docker 官方文档也坦承局限:如果白名单放行 github.com 这类宽泛域名,Agent 理论上仍可借其作为外传信道;且沙箱只保护宿主机,不保护你主动挂载进去的项目目录——默认 direct 模式下宿主源码树以读写方式挂载,隔离程度取决于是否使用 --clone 标志。沙箱解决的是「本地隔离」,不解决「拿到合法凭证的 Agent 在远端做坏事」的授权问题——这两者需要分开治理。

三、时间窗口的意义:与 Anthropic 自动模式默认化同频

Sandboxes 的发布时机颇具深意:四天后(8 月 14 日),Anthropic 将把 Claude Code 的自动模式(auto mode)设为 Pro、Max、Team 付费用户的默认权限模式——Agent 在不可逆、破坏性或超出环境之外的行动之外,将默认自主执行而不再逐条请求批准。Anthropic 内部研究显示,其分类器可拦截 89% 的危险命令,而人类手动审查仅能拦截约 13.6%(疲劳后降至 5%),这是其把控制权更多交给 Agent 的依据。两条动态合在一起,勾勒出行业对「Agent 自主权」的两种互补解法:Anthropic 从「模型侧」提升 Agent 自身判断危险命令的能力;Docker 从「基础设施侧」把 Agent 的权限爆炸半径物理隔离——前者优化 Agent 是否做对,后者保证即使做错也不致命。这也解释了为何 Docker Sandboxes 发布后在 Hacker News 迅速冲到数百点赞:大量开发者早已在用 --dangerously-skip-permissions 跑 Agent,沙箱给了他们「既放开权限又保住电脑」的选择。

四、客观看:能力边界与商业化路径

几点客观边界需要标注。其一,微 VM 隔离并非万能——沙箱内的 Agent 若读取到被投毒的网页内容,仍可能在沙箱内部被诱导做出错误决策,提示词注入与沙箱隔离是两个需要分别解决的独立问题;其二,sbx CLI 需要登录才能使用,这一摩擦点在开发者社区引发争议——登录层服务于企业治理产品 Docker AI Governance(组织级网络策略、文件系统规则与 MCP 治理,付费),个体开发者免费、团队为控制平面付费;其三,共享工作区是设计使然的残余风险——Agent 写入项目目录的恶意 git hook 不会出现在 diff 中,用户仍需在会话后检查钩子与脚本;其四,沙箱目前原生支持 Claude Code、Gemini CLI、Copilot CLI、Codex、OpenCode、Kiro 等主流编码 Agent,但更广泛生态的适配仍在进行。总体而言,Docker Sandboxes 是「Agent 自主执行」浪潮下的基础设施级回应:它承认 Agent 终将脱离逐条审批,同时坚持「信任是建筑出来的,不是请求出来的」——把「给 Agent 自由」与「保护你的电脑」从二选一变成了可以兼得的设计问题。