AI 代理沙盒指南
在 Mac 上執行 AI 代理,但不把整台 Mac 交給它
簡短的答案:給代理一台虛擬機,而不是你的使用者帳號。啟動前先拍快照,遇到不信任的東西就複製一份用完即丟的副本,任務用不到網路時就把網路切掉。本指南比較 Apple Silicon 上的各種隔離方式,並帶你走一遍使用 Kyvenza 內建 MCP server 的工作流程。
各種隔離方式實際保護了什麼
你自己的使用者帳號:沒有隔離
以你的身分執行 shell 指令的代理,擁有你所擁有的一切:鑰匙圈、SSH 金鑰、瀏覽器登入狀態、雲端憑證,以及你讀得到的每個檔案。一個錯誤指令或一次提示詞注入,波及範圍和你本人一樣大。
第二個 macOS 使用者:檔案分開,作業系統共用
另開一個帳號可以讓你的家目錄與鑰匙圈碰不到,但作業系統與核心仍是同一個。這能防範意外,若代理被授予管理員權限,效果就差一些。
容器:適合 Linux 工具,但有但書
Mac 上的容器跑在一台 Linux 虛擬機裡,共用它的核心。它們適合無介面的 Linux 工具,但掛載的主機資料夾或 Docker socket 會給代理一條回到外面的路,而且容器無法執行 macOS 或 Windows 應用程式。
虛擬機:由 hypervisor 強制執行的邊界
客體是一套獨立的作業系統。除非你主動共用,否則它看不到主機的檔案,而且快照可以讓整台機器在糟糕的操作之後回溯。對於在單一台 Mac 上跑的程式開發代理,這是最划算的平衡點。
專用機器:最強,但要多一台裝置
閒置的 Mac mini 能提供實體隔離。但它要花錢、要設定,還多一台要維護的裝置。VM 在你已經擁有的 Mac 上就能取得大部分的隔離效果。
代理工作:Kyvenza VM 與 Docker 容器比較
容器很適合許多代理任務,建立也很快。差異出現在代理需要完整桌面、macOS 或 Windows 客體,或更強的邊界時。
| 功能 | Kyvenza | Docker container |
|---|---|---|
| 客體作業系統 | Linux ARM、macOS ARM 或 Windows 11 ARM | 僅限 Linux |
| 隔離邊界 | 由 hypervisor 強制執行的獨立作業系統 | 一台 Docker 虛擬機內共用的 Linux 核心 |
| 操作出錯後回溯 | 還原快照;透過 MCP 時,代理啟動 VM 前會自動拍一個快照 | 重建容器並還原所有 volume |
| 用完即丟的副本 | clone_vm:寫入時複製,約一秒就出現 | 有,新容器啟動很快 |
| 完全沒有網路 | 隔離網路;Linux 上 guest agent 仍可執行指令並截圖 | 有,使用無網路設定即可 |
| 看見畫面 | 在完整桌面客體上使用 screenshot 工具 | 除非另外加裝桌面,否則只有終端機 |
| 最適合 | 需要真實桌面或 macOS 的代理,以及不信任的安裝程式 | 無介面的 Linux 工具與 CI |
Kyvenza 目前支援什麼
簡短、老實的清單,讓你下載前就知道能期待什麼。
目前已支援
- Apple Silicon Mac(M1、M2、M3、M4、M5)
- Windows 11 on ARM(映像檔與授權需自備,須為 Microsoft 官方版本)
- Ubuntu ARM(LTS 版本)
- Debian ARM
- Fedora ARM
- 主機系統為 macOS 14 Sonoma 或更新版本
- 原生 Apple Virtualization framework 核心
尚未支援
- Windows 客體的 GPU/3D 加速
- Windows 客體的麥克風輸入與 USB 直通
- x86/Intel 架構的客體系統
- 巢狀虛擬化
- GPU 直通
我們把目前做不到的也列出來,方便你事先規劃。
運作方式
準備一台乾淨的基底 VM
在 Kyvenza 建立 Linux 或 macOS 客體,裝好代理會用到的工具,然後關機。這就是你確認過沒問題的基底。不要把個人憑證放進去。
開啟 MCP server 並連接你的代理
到 Settings,再到 Automation,開啟 server 並複製端點,其中已帶有你這台 Mac 的 token。在 Claude Code 裡,連接只要一行指令:claude mcp add --transport http kyvenza http://127.0.0.1:59800/mcp/YOUR-TOKEN。任何接受 URL 的 MCP 客戶端都能使用。
複製、執行、讀取結果、刪除
啟用具破壞性的工具後,代理會把基底複製成沙盒,在裡面執行安裝程式或腳本、讀取輸出,然後刪除該副本。副本是寫入時複製,刪除的項目會進入垃圾桶。若程式碼不該對外連線,請先把 VM 設為隔離網路。
常見問題
在你的主要帳號上不安全。能以你的身分執行 shell 指令的代理,可以讀取你的鑰匙圈、SSH 金鑰與瀏覽器登入狀態,所以一個錯誤指令或一次提示詞注入,波及範圍和你本人一樣大。請在不含你任何憑證的虛擬機裡執行,並在它啟動前先拍快照。
給代理一台專屬的機器
下載 Kyvenza,開啟 MCP server,讓你的代理在可以拍快照、也可以丟棄的 VM 裡工作。7 天試用後 $49 買斷。