SharedRoot:逃離Claude Cowork沙箱
研究人員發現了一種攻擊鏈,可以繞過Claude Cowork的沙箱隔離,從虛擬機內逃逸到主機系統,讀取並寫入整個主機文件系統,而無需任何權限提示。漏洞已報告給Anthropic,但被標記為“信息性”。攻擊鏈利用了內核漏洞、命名空間、seccomp過濾器和文件系統共享等多個環節。文章還討論瞭如何通過四項設計選擇來完全阻止此類攻擊。
研究人員近日披露了一種針對Claude Cowork沙箱的逃逸攻擊鏈,名為SharedRoot。該攻擊允許運行在Linux虛擬機中的AI代理突破隔離邊界,直接訪問宿主Mac的文件系統,包括SSH密鑰和雲憑證等敏感數據,且無需任何權限提示。這一發現凸顯了當前AI沙箱設計中存在的根本性安全挑戰。
Cowork的設計初衷是將代理活動限制在虛擬機內,並通過掛載機制僅暴露用户指定的文件夾。然而,研究團隊發現,通過以下步驟可以實現完全逃逸:首先,利用非特權用户命名空間獲取完整Linux能力;接着,通過netlink套接字觸發t代碼可加載模塊act_pedit;然後利用公開的內核漏洞CVE-2026-46331(pedit COW)污染頁緩存,從而靜默提升至guest root權限;最後,通過宿主機完整文件系統掛載點/mnt/.virtiofs-root讀寫主機文件。
該攻擊鏈的每個步驟都依賴於特定的系統配置。例如,seccomp過濾器採用默認允許的黑名單模式,未能阻止unshare和netlink套接字;而宿主機根文件系統以讀寫方式共享至虛擬機,為逃逸提供了最後出口。Anthropic已收到報告,但將其標記為“信息性”,理由是CVE處於30天披露窗口內,且加固措施被視為縱深防禦而非獨立漏洞。
文章強調,單純依賴內核補丁無法解決此類問題,因為新的權限提升漏洞持續出現。相反,應在更高層面實施四項設計選擇:禁用非特權用户命名空間(如設置apparmor_restrict_unprivileged_userns=1);將seccomp過濾器改為默認拒絕;禁用或剔除未使用的內核模塊(如使用install /bin/false阻止自動加載);最重要的是,僅共享用户連接的文件夾,而非整個主機文件系統。這些措施中的任意一項都足以阻斷攻擊鏈,並且能防禦整類攻擊,而非單個CVE。
研究人員指出,他們的產品Accomplish在設計上採取了類似原則,將整個guest VM視為不可信,並在主機層強制執行邊界,從而不依賴guest內核的安全性。這一案例為AI代理的沙箱設計提供了重要啓示:隔離的有效性不應建立在內核無漏洞的假設之上。