Claude Code 沙盒機制更新
Anthropic 已為 Claude Code 引入沙盒機制以增強安全性與自主性。透過實施作業系統層級的邊界,該系統在內部使用中減少了 84% 的權限提示,在降低提示注入(prompt injection)風險的同時,也允許代理程式在定義的限制內更自由地運作。
OS-Level Sandboxing Architecture
Claude Code 利用作業系統層級的原語(primitives)——特別是 Linux bubblewrap 與 MacOS seatbelt——來強制執行安全邊界。這種架構確保了即使在提示注入成功的情況下,代理程式仍保持隔離狀態,無法存取敏感的系統檔案或與未經授權的伺服器通訊。
Filesystem Isolation
檔案系統隔離限制了 Claude Code 對特定目錄的存取。沙盒允許對目前的工作目錄進行讀寫存取,同時封鎖對該範圍之外任何檔案的修改。這能防止受損的代理程式修改敏感的系統檔案或竊取 SSH keys。
Network Isolation
網路隔離確保 Claude Code 僅能連接到經過核准的伺服器。所有網路存取都透過連接到在沙盒外部運行的代理伺服器(proxy server)的 Unix domain socket 進行路由。此代理伺服器會強制執行網域限制,並在新增網域時要求使用者確認,從而防止敏感資料外洩或惡意軟體的下載。
New Sandboxing Features
Anthropic 已發布此沙盒技術的兩種主要實作方式:
Sandboxed Bash Tool
沙盒化的 bash 工具(目前以研究預覽版形式提供)允許 Claude 執行指令而無需不斷的權限提示。如果代理程式嘗試存取定義的沙盒之外的資源,使用者會立即收到通知。
此執行環境(runtime)也透過 anthropic-experimental/sandbox-runtime GitHub 儲存庫以開源研究預覽版的形式提供,以幫助其他開發者構建更安全的代理程式。
Claude Code on the Web
Claude Code 網頁版為每個工作階段提供了一個隔離的雲端沙盒。為了保護敏感的憑證,系統確保 git 憑證與簽署金鑰(signing keys)絕不會儲存在沙盒內。
相反地,一個自定義的代理服務會處理所有的 git 互動。沙盒內的 git 客戶端使用範圍限定的憑證向此代理進行身分驗證;接著代理伺服器會驗證互動(例如:驗證分支目的地),並在將請求轉發給 GitHub 之前附加必要的驗證權杖(token)。
Implementation and Access
開發者可以透過以下方式啟用這些功能:
- Local Sandboxing: Run the
/sandboxcommand within Claude Code. - Web-based Sandboxing: Access the tool via
claude.com/code. - Agent Development: Integrate the open-sourced
sandbox-runtimeinto custom agentic workflows.
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- 專案