對於我們網路驗證計畫中的客戶,我們在 API 中提供了新的沙箱逃逸分類器,以監控和減少不需要的行為。本文提供了可用指導的概述,並附有各項資源的連結。
此分類器處於私密測試版。
本指導按現狀提供,僅供參考。它描述的是建議,而非要求。這些實踐應能降低風險,但可能無法防止所有超出範圍的操作。您仍需負責選擇、測試和運作適合您環境的控制措施。
最佳實踐概述
在硬體虛擬化沙箱內執行每個自主代理程式。參考設計在內部網路上為每個代理程式使用一個 microVM(Kata Containers with Firecracker)(請參閱 沙箱隔離)。
互動式使用(由人類批准每個操作或在 Claude Code 的自動模式中監督代理程式)風險較低,但我們仍建議使用沙箱。自動模式本身是盡力而為的檢查,不是沙箱隔離的替代品。如果您在沒有沙箱的情況下執行互動式、僅限檔案的工作,請檢查每次寫入,並且不要執行代理程式編寫的任何內容,除非您已閱讀過。
切勿將包含認證的路徑掛載到代理程式的環境中。也要將模型-API 認證保留在代理程式的環境之外:讓單獨的代理程式將其新增到代理程式的 API 請求中(請參閱 沙箱隔離中的認證代理程式部分)。
在沙箱內以自動權限模式執行 Claude Code 代理程式作為額外檢查(請參閱 自動模式)。其分類器可能會拒絕某些合法的安全工作;該文章說明了預期情況以及如何調整它。
至少保留 30 天的代理程式記錄和代理程式日誌,在執行期間和執行後檢查它們(請參閱 代理程式記錄的離線監控),如果您看到代理程式在其範圍外行動,請告知您的 Anthropic 帳戶團隊。
文章概述
指導涵蓋五個領域:
沙箱隔離。為什麼自主代理程式需要強大的隔離、參考設計如何隔離它們,以及如何確定和監督需要網路存取的參與。
代理程式權限:自動模式。為什麼代理程式應在權限分類器下執行、它可以和不能依賴什麼,以及要告訴分類器什麼。
提示注入。來自目標的文字如何引導代理程式,以及如何限制其影響。
代理程式記錄的離線監控。在代理程式記錄和代理程式日誌中尋找什麼、如何執行,以及保留多長時間。
線上監控:API 回應中的沙箱逃逸分數。對於您直接針對 Messages API 執行的代理程式:沙箱逃逸分類器的每個請求分數、如何請求它,以及如何讀取它。
此指導如何對應到最佳實踐
最佳實踐 | 涵蓋位置 | 您的做法 |
沙箱和網路隔離 | 在自己的 VM 中執行每個代理程式,使用 強化主機、預設拒絕出站,並將模型-API 認證保留在沙箱外的代理程式中。 | |
參與前驗證 | 檢查配置並在每個新主機上、每次沙箱變更後以及每個新模型上執行受監督的逃逸測試。確認目標構建並且代理程式具有所需的工具。 | |
記錄保留和檢查 | 為每個代理程式階段編寫記錄、按計畫掃描記錄、閱讀掃描標記的內容,並 至少保留 30 天的記錄和日誌。 | |
沙箱逃逸分類器 | 從您直接針對 Messages API 執行的代理程式請求分數,並使用它來決定首先閱讀哪些記錄。它不適用於在 Claude Code 中執行的代理程式,或在 Amazon Bedrock 或 Google Cloud 的代理程式平台 (Vertex AI) 上執行的代理程式。 | |
自動模式 | 在自動模式中執行 Claude Code 代理程式,並 向分類器描述您的環境。 | |
網路範圍設定 | 僅允許列出範圍內的目標,並優先選擇暫存或複製環境。 | |
明確的範圍設定 | 在您給每個代理程式的指示中陳述範圍。 | |
代理工具使用 | 在代理程式和目標之間放置可觀察的代理程式或工具。 | |
人工監督 | 監視具有網路存取權限的執行、限制每個代理程式的轉數和執行時間,並知道如何停止代理程式。 | |
高風險目標 | 不要將自主代理程式指向其故障可能危及安全或關鍵服務的即時系統。 |
適用的檢查取決於代理程式的執行方式:
如果您的代理程式執行 | 自動模式 | API 分數 | 記錄檢查 |
在 Claude Code 中 | 是 | 否。Claude Code 不會顯示分數 | 是 |
直接針對 Messages API | 否。自動模式是 Claude Code 功能 | 是,在第一方 Claude API 上 | 是 |
本指導中的監控(記錄檢查和 API 分數)尋找試圖離開沙箱或擴大網路存取的嘗試。它不會檢測到留在沙箱內但超出允許到達的主機上的參與的代理程式。
提示注入不是最佳實踐之一,但每當代理程式讀取組織外的人編寫的內容時,它就很重要。
報告超出範圍的行為
如果代理程式探測其沙箱或網路隔離,或在參與範圍外行動,請通知您的 Anthropic 帳戶團隊,除了您自己的事件流程所需的任何內容外。命中時的做法描述了如何停止代理程式以及首先要收集什麼。