运行时安全
运行时安全
概述
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 | 最大程度可控 |
