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 /sandbox command within Claude Code.
  • Web-based Sandboxing: Access the tool via claude.com/code.
  • Agent Development: Integrate the open-sourced sandbox-runtime into custom agentic workflows.

Sources

相關