執行階段安全
執行階段安全
概述
APP 中的執行階段安全分佈在設定 → GWork Settings 下的四個頁面:
| 頁面 | 控制什麼 |
|---|---|
| Runtime | Agent 在哪裡執行(Local 或 Sandbox)、沙箱安裝、系統安全基線 |
| Tool Level | 每個工具的權限級別(P0 / P1 / P2) |
| Authorization records | 你已給出的授權("Always Allow")和系統級權限 |
| Work Node | 本機如何暴露給其他裝置和同事 |

Runtime(執行階段)
Agent Environment
| 選項 | 說明 |
|---|---|
| Local(預設) | 在本機執行;可以指定目錄並授予本地資料存取權限 |
| Sandbox | 在沙箱化的 Linux 環境中執行;只能存取指定的目錄。沙箱安裝完成前為灰色不可選 |
System Security Baseline(系統安全基線)
以下規則由系統強制執行,不可修改(頁面上帶 System-enforced 標籤):
- 任何刪除操作前強制人工安全確認(不可跳過)
- 檔案建立與寫入必須在指定的工作目錄內
- 操作被拒絕後,Agent 必須立即停止並向使用者說明原因
- 包含
rm -rf、sudo、dd等高危指令的 shell 命令強制升級為 P2(高危確認) - 權限級別:🟢 P0 靜默允許 · 🔵 P1 標準提示(含"Always allow")· 🔴 P2 高危提示(禁用"Always allow")
工具級別
所有工具分為三個級別:
| 級別 | 名稱 | 行為 | 範例工具 |
|---|---|---|---|
| P0 | Auto | 無需確認,靜默執行 | Read file、Browse folder、Find files、Append to file |
| P1 | Standard | 彈出權限卡片;可選 Always Allow | Run command、Write file、Browser |
| P2 | High-Risk | 每次呼叫都彈出權限卡片;"Always Allow" 不可用 | 破壞性命令、任何你想嚴格管控的工具 |
級別在設定 → Tool Level 中設定:每行顯示工具名、來源(Built-in 或已安裝工具)和 P0 Auto / P1 Standard / P2 High-Risk 三個按鈕。🔒 鎖圖示表示級別由系統或組織的安全護欄固定,只能調嚴、不能調鬆。

權限卡片
Agent 呼叫 P1 / P2 工具時,對話底部出現權限卡片:

| 元素 | 說明 |
|---|---|
| 標題 | "GWork needs your approval · 操作類型"(如 change a file on your computer),以及 Routine 等風險標籤 |
| 操作說明 | 工具即將做什麼 |
| 引數 | 工具收到的輸入(如內容大小、編碼、路徑);Technical details 可展開原始呼叫 |
| Deny | 拒絕;Agent 停止並說明 |
| Always Allow | 允許,且本任務中同類操作不再詢問(僅 P1) |
| Allow | 僅允許本次呼叫 |
授權記錄
設定 → Authorization records 列出已授予的權限:
| 區塊 | 說明 |
|---|---|
| Tool authorization | 已授權為 "Always Allow" 的工具(工具名、來源、時間)。點選 Remove 撤銷,工具會重新詢問 |
| System authorization | APP 依賴的作業系統權限,如 Full Disk Access(shell 任務存取郵件、備份等受保護位置時需要)。用 Open System Settings 檢視或調整 |
沙箱執行環境
沙箱提供隔離的 Linux 環境,保護宿主系統。
安裝
- 開啟 APP → ⚙ 設定 → Runtime
- 點選右上角 Install Sandbox
- 按鈕變為 Installing…,進度條顯示 Downloading runtime environment … 和百分比

- 下載完成後,Agent Environment 下的 Sandbox 選項變為可選
- 選擇 Sandbox 作為預設環境,或在定時任務的 Environment 欄位中按任務選擇
注意:沙箱映象體積較大,請保持 APP 開啟直到進度達到 100%。
沙箱的實際影響
| 對比維度 | Local | Sandbox |
|---|---|---|
| 檔案操作 | Agent 直接讀寫你的本地檔案 | Agent 在隔離環境中操作,只能看到你指定的目錄 |
| 安裝軟體 | npm install 直接裝進你的專案 |
裝在沙箱內,退出後消失 |
| 危險命令 | rm -rf 直接刪除你的檔案(需 P2 確認) |
隻影響沙箱內的虛擬檔案系統 |
| 執行速度 | 原生速度 | 略慢(虛擬化開銷) |
| 適用場景 | 可信的日常任務 | 執行不受信任的程式碼、實驗性操作 |
工作節點(Work Node)
設定 → Work Node 描述本機作為節點的參與方式:
| 專案 | 說明 |
|---|---|
| 節點名稱 | 可編輯;清晰的名稱便於識別和發現。旁邊顯示主機名和連線狀態(Connected) |
| Work Node Type | Private:只有用你的帳戶登入的裝置能發現並呼叫本節點。Public:組織成員也能看到並向本機分派任務 |
| System Info | 自動檢測的作業系統、CPU、記憶體和剩餘磁碟,包含在節點能力中 |
| Custom Capabilities | 最多 5 條簡短描述(如 "Python 3.12, Docker available, GPU: NVIDIA RTX 4090"),幫助排程方選擇本節點 |
| Commands | 本節點向遠端呼叫方暴露的命令 |
節點類型的實際影響
| 設定 | 影響 |
|---|---|
| Private | 只有你(在其他裝置上)能看到並呼叫本節點,團隊成員看不到 |
| Public | 同組織的所有成員都能看到本節點,並可以把任務分派到本機執行 |
提示:設為 Public 意味著團隊成員發起的任務可能在你的電腦上執行(包括檔案讀寫和命令執行)。請確保理解這一影響並信任你的團隊成員。跨帳戶任務無法讀取你的個人記憶(見 記憶管理)。
工具級別的實際影響
| 場景 | P0(Auto) | P1(Standard) | P2(High-Risk) |
|---|---|---|---|
| Agent 需要讀檔案 | 靜默讀取 | 首次彈卡片,可 "Always Allow" | 每次彈卡片 |
Agent 執行 npm install |
直接執行 | 首次彈卡片 | 每次彈卡片 |
Agent 執行 rm -rf node_modules |
被安全基線強制為 P2 | 強制為 P2 | 每次彈卡片 |
| Agent 開啟網頁 | 直接開啟 | 首次彈卡片 | 每次彈卡片 |
級別選擇建議
| 使用環境 | 推薦配置 | 原因 |
|---|---|---|
| 個人開發機,完全信任 | Run command / Write file:P1,其他:P0 | 高效,命令和寫入有確認 |
| 共享裝置 / Public 節點 | Run command:P2,Write file / Browser:P1,其他:P0 | 每次執行命令都需確認 |
| 新手使用者 | 全部 P1 或 P2 | 透過權限卡片了解 Agent 的行為模式 |
| 演示環境 | 全部 P2 | 最大程度可控 |
