Claude Cowork 俾指可攞 VM root,AI agent 上機要點管
Tech News

Claude Cowork 俾指可攞 VM root,AI agent 上機要點管

圖片:via iThome — https://www.ithome.com.tw/news/177116
TechLab 編輯部(譯)·

要先入到主機,但 desktop agent 仍然要受管

發生咩事

iThome 報道,資安團隊 Armadin 公開 Claude Cowork for Windows 嘅一條 sandbox escape chain。講清楚先:單純打開 Claude 唔會自動中招,攻擊者要先喺 Windows 主機上有本機 code execution。之後,研究人員用 DLL sideloading 令攻擊碼跑喺有 Anthropic 簽名嘅 claude.exe process 入面,再同 CoworkVMService 溝通。Armadin 話,佢哋喺 Claude Desktop for Windows 1.9255.2.0 驗證到呢條 chain。

Anthropic 圖示 Claude Cowork VM 六層隔離機制,當中有啲界線喺 guest kernel 外面執行

圖片:Anthropic

點解個邊界會穿

官方文件講,Cowork 喺每部機有兩個 execution environment:agent loop 喺本機跑,負責對話、檔案讀寫、web fetch 同 local MCP;shell 同 code execution 就落去獨立 Linux VM。今次有趣位係中間嗰條橋:CoworkVMService 會睇連線 process 係咪 Anthropic 簽名,但呢個檢查偏向身份,唔等於對入面每個 RPC 參數做授權。Armadin 冇偽造到簽名,就改用惡意 USERENV.dll 放喺 claude.exe 同一目錄,等 signed process 自己載入。服務望落見到係 claude.exe,就收咗張通行證。

Anthropic 圖示 Cowork host-mode 架構,agent loop 留喺本機,code execution 入 VM

圖片:Anthropic

VM 入面先係爆點

過咗 named pipe 呢一關,真正破口喺 spawn 指令。Armadin 按 log、錯誤訊息同 fuzzing 重建 RPC 格式,發現 isResumeallowedDomains 兩個參數會直送入 VM 入面嘅 sdk-daemon。isResume=true 可以略過每次執行都開新低權限 Linux user 嘅做法,再指定 name=root,就攞到 uid 0;配合 nsenter,研究人員再由 bubblewrap namespace 擴到成個 Ubuntu VM。至於 allowedDomains 設成 *,就可以放寬單次指令嘅外連限制,令本來擋住嘅網上請求放行。

Anthropic 嘅講法唔算離地

Anthropic 話呢條 chain 要先有主機本機執行權限,所以唔列做 security issue。用傳統漏洞分級睇,呢個講法唔算完全離地:如果攻擊者已經可以喺部 Windows notebook 跑任意 code,部機本身已經失守。不過公司唔應該一聽「要先入到部機」就當冇事,因為 AI office agent 已經唔似普通 app。佢會長駐本機、帶 VM、接觸用戶揀咗嘅工作 folder,又可能有網上出口;本機 malware 借呢啲現成管道加大活動範圍,係好現實嘅 endpoint 風險。

公司 IT 要睇到入面

仲值得公司 IT 留意嘅係 visibility。Anthropic 自己嘅架構文章都講,VM 隔離可以限制 blast radius,但同時會令 host-based EDR 睇唔到 VM 入面;Help Center 亦寫明 Cowork 活動暫時未入 audit logs、Compliance API 或者 data exports,要用 OpenTelemetry 先可以串返 prompt、tool/MCP、檔案路徑、批准決定同 API request。即係話,安全唔可以淨係睇「有冇沙箱」,仲要睇沙箱外圍嗰啲本機服務、MCP、desktop extension 同 telemetry 有冇放入日常監察。

實際點收窄風險

實務上,第一步係收窄使用權:唔用 Cowork 嘅機就關 secureVmFeaturesEnabled,或者直接移除 Claude Desktop;要用就用 MDM、Intune、Group Policy、AppLocker、Entra ID 或 AD group 限定邊啲人可以跑。第二,workspace mount 唔好放到太闊,官方 enterprise config 有 allowedWorkspaceFolders 可以收窄 folder。第三,local MCP 同 desktop extension 要逐個批,因為官方講明呢啲可以喺本機環境跑。第四,按 Armadin 建議,用 Sysmon Event ID 7 睇 claude.exe 有冇喺 C:\Windows\System32\ 以外載入 USERENV.dll,呢個 signal 夠直接。

對開發者同 IT admin 嚟講,今次個 take 好簡單:批 AI coding/office agent 入公司機前,要當佢係 local automation runtime,會跑命令、讀寫檔案、開 network、接本機服務,唔好用 chatbot 眼光批 app。下一步就睇 Anthropic 會唔會收緊 CoworkVMService 對 RPC 參數嘅 server-side validation,同埋企業後台會唔會有再清楚啲嘅版本狀態同修補指引。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook