執行階段安全
執行階段安全
概述
執行階段安全設定用於設定 Agent 執行過程中的安全策略,包含聯絡人、節點和沙箱三個標籤頁。

工具權限分級
所有工具依安全等級分為三檔:
| 等級 | 名稱 | 行為 | 適用工具範例 |
|---|---|---|---|
| P0 | 自動執行 | 無需使用者確認,靜默執行 | Read File、List Directory、Memory Query |
| P1 | 首次確認 | 第一次呼叫時彈出權限彈窗確認 | Bash、Web Fetch、Skill |
| P2 | 每次確認 | 每次呼叫都需要使用者確認 | 高風險操作 |
權限彈窗
當 Agent 呼叫 P1/P2 等級工具時,介面會顯示權限確認彈窗:

| 資訊 | 說明 |
|---|---|
| 工具名稱 | 請求呼叫的工具 |
| 操作說明 | 工具將執行的具體操作 |
| 輸入參數 | 工具接收的參數詳情 |
| 允許/拒絕 | 使用者決策按鈕 |
危險命令預檢
Bash 工具內建危險命令預檢機制(bashCommandPreflightCheck):
| 檢測類型 | 說明 |
|---|---|
| 破壞性路徑檢測 | 檢測 rm -rf /、rm -rf ~ 等高風險刪除命令 |
| 系統命令檢測 | 檢測 shutdown、reboot 等系統級命令 |
| 資料遺失風險 | 檢測可能導致資料遺失的操作 |
偵測到危險命令時,會自動升級為 P2 等級(每次確認)。
Hook 攔截
系統支援 beforeToolUse 和 afterToolUse Hook:
| Hook | 觸發時機 | 能力 |
|---|---|---|
| beforeToolUse | 工具執行前 | 可阻止執行、修改參數、強制升級確認等級 |
| afterToolUse | 工具執行後 | 可記錄日誌、觸發後續操作 |
沙箱執行環境
沙箱提供隔離的程式碼執行環境,保護宿主系統安全。
技術規格
| 參數 | 值 |
|---|---|
| 虛擬化 | VirtIO Serial 通訊的微虛擬機 |
| 架構支援 | arm64、amd64 |
| 執行階段 | 完整 Linux 環境(Bash、Python、Node.js) |
三種執行模式
| 模式 | 說明 |
|---|---|
| local | 直接在宿主系統執行(預設) |
| sandbox | 強制在沙箱內執行 |
| auto | 系統自動判斷是否需要沙箱 |
安裝流程
- 系統檢測:檢查宿主系統相容性
- 下載 Runtime:下載虛擬化執行階段
- 下載 Image:下載 Linux 磁碟映像
- 就緒:沙箱可用

安裝進度透過 CoworkSandboxProgress 元件顯示(階段、已下載/總量、百分比)。
狀態檢測
| 狀態欄位 | 說明 |
|---|---|
supported |
當前系統是否支援沙箱 |
runtimeReady |
執行階段是否已安裝 |
imageReady |
映像是否已安裝 |
downloading |
是否正在下載 |
節點安全
節點標籤頁用於設定多節點場景下的安全策略:
| 設定 | 說明 |
|---|---|
| 節點可見性 | 控制本節點對外的可見範圍(account / enterprise) |
| 能力宣告 | 設定本節點對外暴露的工具和命令清單 |
| 遠端權限 | 遠端節點請求權限時的處理策略(具體跨節點分發規則見 多節點架構 — 權限彈窗分發規則) |
安全等級的實際影響
理解安全等級對日常使用的真實影響:
| 場景 | P0(自動執行) | P1(首次確認) | P2(每次確認) |
|---|---|---|---|
| Agent 需要讀取檔案 | 靜默讀取,無感知 | 首次彈窗確認,之後自動 | 每次都彈窗詢問 |
Agent 執行 npm install |
直接執行 | 首次彈窗確認 | 每次都彈窗 |
Agent 執行 rm -rf node_modules |
直接執行(危險!) | 首次彈窗確認 | 每次都彈窗 |
| Agent 搜尋網頁 | 直接搜尋 | 首次彈窗確認 | 每次都彈窗 |
注意:Bash 工具在 P0 下會靜默執行任何 Shell 命令,包括刪除檔案。雖然內建了危險命令預檢,但無法涵蓋所有風險命令。建議至少將 Bash 設定為 P1。
安全等級選擇建議
| 使用環境 | 推薦設定 | 原因 |
|---|---|---|
| 個人開發機,完全信任 | Bash: P1,其他: P0 | 高效率,Bash 首次確認防誤操作 |
| 共用裝置 / 團隊環境 | Bash: P2,Web Fetch: P1,其他: P0 | 每次命令執行都需確認,防止誤操作影響他人 |
| 新手使用者 | 全部 P1 或 P2 | 透過確認彈窗學習 Agent 的行為模式 |
| 示範環境 | 全部 P2 | 最大安全性,完全可控 |
沙箱的實際影響
| 對比維度 | 沙箱關閉(local 模式) | 沙箱開啟(sandbox 模式) |
|---|---|---|
| 檔案操作 | Agent 直接讀寫你的本機檔案 | Agent 在隔離環境中操作,不影響本機檔案 |
| 安裝軟體 | npm install 直接安裝到你的專案 |
安裝在沙箱內,退出後消失 |
| 危險命令 | rm -rf 直接刪除你的檔案 |
只影響沙箱內的虛擬檔案系統 |
| 執行速度 | 原生速度 | 略慢(虛擬化開銷) |
| 適用場景 | 信任的日常開發任務 | 執行不信任的程式碼、實驗性操作 |
三種執行模式怎麼選
| 模式 | 適用人群 | 說明 |
|---|---|---|
| local(預設) | 日常開發者 | 所有命令直接在本機執行,速度最快 |
| sandbox | 安全敏感使用者 | 所有命令在沙箱中執行,完全隔離 |
| auto | 進階使用者 | 系統根據命令風險自動決定,低風險本地執行,高風險進沙箱 |
如何安裝沙箱
- 開啟 APP → 設定 → 執行階段安全 → 沙箱 標籤頁
- 系統自動檢測當前裝置是否支援沙箱
- 如果支援,點擊 安裝 按鈕
- 等待下載 Runtime(約 50-100MB)和 Image(約 200-500MB)
- 下載完成後,沙箱狀態顯示為「就緒」
- 在執行模式中選擇 sandbox 或 auto
注意:沙箱目前僅支援 macOS(arm64 和 amd64)。Windows 支援規劃中。
節點可見性的實際影響
| 設定 | 影響 |
|---|---|
| account(個人) | 只有你自己在其他裝置登入時能看到並呼叫此節點。團隊成員看不到。 |
| enterprise(企業) | 同一工作空間的所有成員都能看到此節點,並可以透過 Gateway 將任務派發到此裝置執行。 |
提示:設定為 enterprise 意味著團隊成員發起的對話可能會在你的電腦上執行 Agent 任務(包括檔案讀寫和命令執行)。請確保你了解這一影響並信任你的團隊成員。
