AI

Anthropic 的 Sandbox Runtime:不需要容器的操作系统级别沙箱

Sandbox Runtime 是 Anthropic 的轻量级沙箱工具,在操作系统级别强制执行文件系统和网络限制,将 Claude Code 的权限提示减少了 84%。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Anthropic 的 Sandbox Runtime:不需要容器的操作系统级别沙箱

AI 编码代理(如 Claude Code)需要执行各种操作——读取文件、编写代码、运行命令、发出网络请求。管理这些操作的安全边界通常需要繁重的容器化(Docker)或频繁的用户权限提示。Sandbox Runtime 由 Anthropic 开发,提供了第三条路径:轻量级的操作系统级别沙箱,在不需要容器开销的情况下强制执行安全策略。

graph LR
    A[AI 代理工具命令] --> B{Sandbox Runtime}
    B -->|策略允许| C[正常执行]
    B -->|策略阻止| D[返回权限错误]
    C --> E[文件系统:允许 /src、/tmp]
    C --> F[网络:允许 *.npmjs.org]
    C --> G[系统:允许读取,拒绝写入 /etc]
    D --> H[需要用户批准或策略更新]

Sandbox Runtime 与基于容器的沙箱相比如何?

方面Docker 容器Sandbox Runtime
隔离级别完整操作系统虚拟化进程级别限制
启动时间1-5 秒< 100 毫秒
内存开销50-200 MB< 10 MB
文件系统访问独立的文件系统受限的主机文件系统
网络访问独立的网络堆栈受限的主机网络
GPU 访问复杂的穿透原生访问
二进制兼容性必须匹配容器 OS原生主机环境
设置复杂度需要 Docker 安装原生二进制或 Homebrew

可以配置哪些沙箱策略?

策略领域示例规则用途
文件系统读取/src/**/usr/lib/**$HOME/**允许读取项目文件
文件系统写入/src/output/**/tmp/**允许保存生成的文件
文件系统拒绝/etc/shadow/.ssh/**阻止敏感文件访问
网络允许registry.npmjs.org:443api.github.com:443允许包安装、git push
网络拒绝*:22*:3306阻止 SSH、数据库访问
进程执行nodepython3gogit允许特定命令
进程拒绝sudorm -rf /阻止危险操作

性能影响

操作无沙箱使用 Docker 容器使用 Sandbox Runtime
文件读取(100 MB)2 毫秒5 毫秒(卷挂载)2 毫秒
文件写入(100 MB)3 毫秒8 毫秒(卷挂载)3 毫秒
网络请求50 毫秒51 毫秒(NAT)50 毫秒
进程启动1 毫秒500 毫秒(容器)2 毫秒
内存分配原生+50 MB 开销+2 MB 开销

常见问题

什么是 Sandbox Runtime? Anthropic 的开源轻量级 OS 级别沙箱工具,无需 Docker。

如何工作? 使用 macOS seatbelt 和 Linux seccomp-bpf 定义精确的进程访问边界。

支持哪些平台? macOS 和 Linux。Windows 尚未支持。

如何安装? macOS:brew install anthropic/sandbox-runtime/sandbox-runtime。Linux:从 GitHub 下载。

减少多少权限提示? 与 Claude Code 搭配使用时减少 84%。


延伸阅读

TAG
CATEGORIES