核心用法
SafeExec 是 OpenClaw Agent 的安全执行层,通过一句话"Enable SafeExec"即可激活。激活后自动监控所有 shell 命令,拦截危险操作并触发分级审批流程。
典型使用场景:
- Agent 执行
rm -rf /tmp/test时自动拦截并提示 CRITICAL 风险 - 用户通过
safe-exec-approve <request_id>或safe-exec-reject在终端内完成审批 - 支持
safe-exec-list查看待处理请求,全程无需离开当前会话
四种风险等级:
- CRITICAL: 系统破坏性命令(dd、mkfs、rm -rf / 等)
- HIGH: 用户数据删除或重大系统变更
- MEDIUM: 服务操作或配置修改
- LOW: 只读操作,默认放行
显著优点
1. 零摩擦集成:一句话安装激活,不改变 Agent 使用习惯,危险命令自动拦截、安全命令无感知通过
2. 会话级独立:审批流程完全本地化,不依赖飞书、Telegram 等外部通讯平台,任何渠道接入的 OpenClaw 均可使用
3. 完整审计追踪:所有操作记录至 ~/.openclaw/safe-exec-audit.log,含时间戳、风险等级、审批状态、执行结果
4. 自动化友好:支持 OPENCLAW_AGENT_CALL 非交互模式,SAFE_EXEC_AUTO_CONFIRM 可自动批准 LOW/MEDIUM 风险命令
5. 平台无关:纯 shell 实现,兼容各类 Linux/macOS 环境
潜在局限
- 覆盖范围有限:主要针对文件系统破坏性操作,对网络层、权限提升类风险(如提权漏洞利用)无专门检测
- 误报可能:复杂管道命令或变量展开后的风险评估可能不准确
- 单点依赖:完全依赖本地文件系统存储待审批请求,若会话异常退出可能导致请求状态不一致
- 非强制安全:用户可通过环境变量
SAFE_EXEC_DISABLE=1完全绕过,依赖自觉使用 - 社区维护:GitHub 仓库 OTTTTTO/safe-exec 为个人项目,长期维护稳定性待观察
适合人群
- 使用 OpenClaw Agent 执行自动化脚本但担心误操作的技术用户
- 需要人机协同审批敏感操作的 DevOps/SRE 团队
- 在测试环境授予 Agent 较高权限但保留生产操作终审权的管理员
常规风险
- 审批疲劳:高频 LOW/MEDIUM 风险操作若未开启自动批准,可能导致用户习惯性点击同意
- 日志敏感信息:审计日志记录完整命令,可能包含密码、Token 等敏感数据,需确保
~/.openclaw/目录权限正确(建议 700) - 绕过风险:恶意或配置错误的 Agent 可能通过修改环境变量或编辑规则文件直接禁用保护
- 供应链风险:通过 ClawdHub 或 GitHub 直接安装,若源站被劫持可能引入恶意代码