概述

Exec 审批是 OpenClaw 对 companion app / node host 上 Shell 命令执行的安全拦截机制。沙箱 Agent 在 gateway 或 node 上执行命令前,必须通过策略 + 白名单 + 用户审批三重验证。审批策略叠加在工具策略和 elevated 门控之上。

核心功能

  • 双层策略:tools.exec.*(OpenClaw 配置)和 ~/.openclaw/exec-approvals.json(宿主机本地),取更严格的一方
  • 三种安全级别:deny(拒绝所有)、allowlist(仅白名单)、full(允许一切)
  • 审批提示模式:off(不提示)、on-miss(白名单未命中时提示)、always(每次提示)
  • YOLO 模式:security=full + ask=off 组合,无需审批直接执行(gateway/node 默认行为)
  • per-agent 白名单:每个 Agent 独立维护白名单,支持路径 glob 和裸命令名 glob
  • argPattern 限制:白名单条目可通过正则限制参数形状,如 python3 safe.py 专用条目
  • 审批生命周期:审批挂起时返回 status: "approval-pending",通过后触发 Exec finished 系统事件

配置/权限

存储位置:~/.openclaw/exec-approvals.json

YOLO 模式快速配置:

openclaw exec-policy preset yolo

严格模式配置:

{
  "version": 1,
  "defaults": {
    "security": "allowlist",
    "ask": "on-miss",
    "askFallback": "deny",
    "autoAllowSkills": false
  }
}

白名单示例:

  • rg — 裸命令名(仅匹配 PATH 调用)
  • ~/Projects/**/bin/peekaboo — 路径 glob
  • /opt/homebrew/bin/rg — 精确路径

CLI 工具:

  • openclaw approvals get — 查看有效策略
  • openclaw exec-policy show — 本机合并视图
  • openclaw approvals set --gateway — 远程设置 gateway 审批

相关页面