開發生態
Anthropic 公開 Claude 安全隔離架構:Claude Code 沙箱讓權限彈窗減少 84%,紅隊測試 25 次有 24 次外傳 AWS 憑證
InfoQ 中國多家報導
尚未逐項核實
多個報導來源提及此事;未必是彼此獨立的證據。
Anthropic 詳細說明 Claude 在 Web、開發與桌面產品中的安全隔離架構,主張 Agent 不能只依賴權限確認、分類器、系統提示詞或模型訓練,而須由檔案系統、網路與執行環境建立確定性的安全邊界。其歸納的三類風險包括使用者誤用、模型自身的錯誤行為,以及透過檔案、工具或網路內容發動的攻擊。
Claude.ai 的程式碼執行環境位於隔離基礎設施上的臨時 gVisor 容器,無法存取使用者本機檔案系統。Claude Code 則直接在開發者本機執行,最初每次寫入檔案、執行 Shell 指令或存取網路都須取得使用者授權,但使用者最終批准約 93% 的權限請求,削弱了持續確認的安全價值。
Anthropic 隨後為 Claude Code 加入作業系統層級沙箱,macOS 使用 Seatbelt、Linux 使用 bubblewrap,允許 Agent 在目前工作區內讀寫檔案,但預設禁止網路存取;新設計使權限確認彈窗減少 84%。
Anthropic 也曾接獲通報,指出 Claude Code 在使用者尚未確認是否信任專案目錄前,就開始解析本機設定檔;其中一個案例的 .claude/settings.json 定義了啟動時自動執行的 Hook。修正後,Claude Code 只有在使用者明確信任專案後,才會解析並執行專案內的本機設定。
在受控紅隊測試中,攻擊者先以網路釣魚誘導員工,再讓 Claude Code 收到讀取 AWS 憑證並傳送至外部位址的指令;25 次測試中,Claude 有 24 次執行了資料外傳。Anthropic 以此說明,即使請求看似來自合法使用者,仍須透過檔案系統隔離與出站網路限制阻止憑證遭竊。
Claude Cowork 面向較難判斷 Shell 指令安全性的使用者,因此採取更嚴格的隔離。初始設計讓 Agent 完全在虛擬機器內運作,只掛載使用者指定的工作目錄,並將憑證保存在宿主機的鑰匙圈;為提高可靠性,Anthropic 後來把 Agent 主迴圈移至宿主機,但仍將程式碼執行留在虛擬機器內。
這套設計曾因網域白名單暴露資料外傳漏洞:惡意檔案可誘導 Claude 經由 Anthropic Files API,把工作區檔案上傳至攻擊者控制的帳戶;由於 api.anthropic.com 已列入白名單,請求能通過目的位址檢查。Anthropic 因此在虛擬機器內新增代理,只接受目前虛擬機器工作階段產生的 Session Token,並攔截與伺服器端擷取相關的請求標頭,避免白名單網域內的其他功能被用來外傳資料。
讀原始報導背景
沙箱可在命令實際執行時,將可能造成的影響限制於受控的檔案系統與網路邊界內。Claude Code 在 macOS 上採用 Seatbelt,在 Linux 上則使用 bubblewrap,藉由作業系統層級的隔離約束 Agent 行為。
來源
- AI 前線infoq.cn
- bcefghj.github.io