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 開發,提供了第三條路徑:輕量級的作業系統層級沙箱,在不需容器開銷的情況下強制執行安全策略。

該工具利用作業系統內建的沙箱能力——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:443api.github.com:443允許套件安裝、git push
網路拒絕*:22*:3306阻止 SSH、資料庫存取
程序執行nodepython3gogit允許特定命令
程序拒絕sudorm -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%。


延伸閱讀

TAG