AI 程式碼代理(如 Claude Code)需要執行各種操作——讀取檔案、撰寫程式碼、執行命令、發出網路請求。管理這些操作的安全邊界通常需要繁重的容器化(Docker)或頻繁的使用者權限提示。Sandbox Runtime 由 Anthropic 開發,提供了第三條路徑:輕量級的作業系統層級沙箱,在不需容器開銷的情況下強制執行安全策略。
該工具利用作業系統內建的沙箱能力——macOS 的 seatbelt 設定檔和 Linux 的 seccomp-bpf 搭配 landlock——來定義代理程序能做什麼和不能做什麼的精確邊界。Sandbox Runtime 不是對每個操作都詢問使用者權限,而是預先配置允許的內容,並自動阻止其他所有內容。
對工作流程的影響是巨大的。在與 Claude Code 的生產使用中,Sandbox Runtime 將權限提示減少了 84%。開發者在工作階段開始時授予廣泛但有界限的權限,沙箱在整個工作階段自動執行這些邊界。這創造了更流暢的工作流程,同時不犧牲安全性。
Sandbox Runtime 與基於容器的沙箱相比如何?
傳統的容器沙箱和 Sandbox Runtime 採用根本不同的隔離方法。
| 面向 | Docker 容器 | Sandbox Runtime |
|---|---|---|
| 隔離層級 | 完整作業系統虛擬化 | 程序層級限制 |
| 啟動時間 | 1-5 秒 | < 100 毫秒 |
| 記憶體開銷 | 50-200 MB | < 10 MB |
| 檔案系統存取 | 獨立的檔案系統 | 受限的主機檔案系統 |
| 網路存取 | 獨立的網路堆疊 | 受限的主機網路 |
| GPU 存取 | 複雜的穿透 | 原生存取 |
| 二進位相容性 | 必須匹配容器 OS | 原生主機環境 |
| 設定複雜度 | 需要 Docker 安裝 | 原生二進位或 Homebrew |
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 使用宣告式策略檔案,精確定義每個沙箱程序允許做什麼。
| 策略領域 | 範例規則 | 用途 |
|---|---|---|
| 檔案系統讀取 | /src/**、/usr/lib/**、$HOME/** | 允許讀取專案檔案 |
| 檔案系統寫入 | /src/output/**、/tmp/** | 允許儲存生成的檔案 |
| 檔案系統拒絕 | /etc/shadow、/.ssh/** | 阻止敏感檔案存取 |
| 網路允許 | registry.npmjs.org:443、api.github.com:443 | 允許套件安裝、git push |
| 網路拒絕 | *:22、*:3306 | 阻止 SSH、資料庫存取 |
| 程序執行 | node、python3、go、git | 允許特定命令 |
| 程序拒絕 | sudo、rm -rf / | 阻止危險操作 |
策略以 YAML 或 TOML 格式編寫,可以範圍限定到特定工具、目錄或 Git 儲存庫。
Sandbox Runtime 對效能有什麼影響?
與基於容器的替代方案相比,作業系統層級沙箱的效能開銷極小。
| 操作 | 無沙箱 | 使用 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 適用於互動式使用,其中每毫秒的延遲都會影響開發者體驗。
常見問題
什麼是 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%。
延伸閱讀
- Sandbox Runtime GitHub 儲存庫 – 原始碼、版本和文件
- Anthropic 的 AI 代理安全研究 – Anthropic 的安全研究
- Apple Seatbelt Sandbox 文件 – macOS sandbox 框架文件
- Linux seccomp-bpf 指南 – Linux seccomp 過濾器文件
- Claude Code 文件 – 官方 Claude Code 文件(與 Sandbox Runtime 整合)
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!