运行时安全
运行时安全
概述
运行时安全设置用于配置 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 任务(包括文件读写和命令执行)。请确保你了解这一影响并信任你的团队成员。
