Safe Exec
v0.3.4为 OpenClaw Agents 提供安全的命令执行功能,包括自动危险模式检测、风险评估、用户审批工作流和审计日志。适用于代理需要执行可能存在危险的 shell 命令(如 rm -rf、dd、fork bombs、系统目录修改)或需要人工监督的情况。提供多级风险评估(CRITICAL/HIGH/MEDIUM/LOW)、会话通知、待处理请求管理和非交互环境支持,以实现代理自动化。支持 API、CLI 和 GitHub 等环境下的安全命令执行。
运行时依赖
安装命令
点击复制技能文档
SafeExec - 安全命令执行 为 OpenClaw 代理提供安全的命令执行功能,自动拦截危险操作并具有审批工作流。 功能 🔍 自动危险模式检测 - 执行前识别出风险命令 🚨 基于风险的拦截 - 多级评估(CRITICAL/HIGH/MEDIUM/LOW) 💬 会话通知 - 实时在当前终端/会话中显示警报 ✅ 用户审批工作流 - 命令等待显式确认 📊 完整审计日志 - 所有操作的完整跟踪 🤖 代理友好 - 支持非交互模式的自动工作流 🔧 平台无关 - 独立于通信工具(webchat、Feishu、Telegram 等) 🔐 安全专注 - 无监控、无外部通知、无网络调用
代理模式 当 OpenClaw 代理在非交互环境中调用时: 自动绕过确认提示 - 防止代理挂起 完整审计日志 - 所有执行记录带有模式标签(agent_auto 与 user_approved) 安全得到保护 - 危险模式检测和风险评估保持活跃 预期用例 - 人工监督的自动工作流,通过审计日志实现 环境变量: OPENCLAW_AGENT_CALL - OpenClaw 在代理执行命令时设置 SAFE_EXEC_AUTO_CONFIRM - 手动覆盖以自动批准 LOW/MEDIUM 风险命令
安全说明: 代理模式不禁用安全检查。CRITICAL 和 HIGH 风险命令仍然被拦截、记录,并可以在审计跟踪中查看。
快速开始 安装(一条命令) 安装 SafeExec 的最简单方法: 在 OpenClaw 聊天中输入:帮助我从 ClawdHub 安装 SafeExec 技能 OpenClaw 将自动下载、安装和配置 SafeExec!
替代方法:手动安装 如果您更喜欢手动安装: # 从 GitHub 克隆 git clone https://github.com/OTTTTTO/safe-exec.git ~/.openclaw/skills/safe-exec # 使脚本可执行 chmod +x ~/.openclaw/skills/safe-exec/safe-exec.sh # 创建到 PATH 的符号链接(可选) ln -s ~/.openclaw/skills/safe-exec/safe-exec.sh ~/.local/bin/safe-exec ln -s ~/.openclaw/skills/safe-exec/safe-exec-.sh ~/.local/bin/
启用 SafeExec 安装后,只需输入: 启用 SafeExec SafeExec 将自动监控所有 shell 命令!
工作原理 启用后,SafeExec 自动监控所有 shell 命令执行。 当检测到潜在危险命令时,它会拦截执行并通过会话终端通知请求您的批准。 架构: 请求存储在:~/.openclaw/safe-exec/pending/ 审计日志:~/.openclaw/safe-exec-audit.log 规则配置:~/.openclaw/safe-exec-rules.json 无外部网络调用 无后台监控进程
使用 启用 SafeExec: 启用 SafeExec 启动 SafeExec 一旦启用,SafeExec 就会在后台透明运行。 代理可以正常执行命令,SafeExec 将自动拦截危险操作: 删除 /tmp/test 中的所有文件 格式化 USB 驱动器 SafeExec 检测风险级别并在会话中显示批准提示。
风险级别 CRITICAL:系统破坏性命令(rm -rf /、dd、mkfs、fork bombs) HIGH:用户数据删除或重大系统更改(chmod 777、curl | bash) MEDIUM:服务操作或配置更改(sudo、防火墙修改) LOW:读操作和安全文件操作
批准工作流 代理执行命令 SafeExec 分析风险级别 在终端中显示会话通知 通过以下方式批准或拒绝: 终端:safe-exec-approve 列出待处理:safe-exec-list 拒绝:safe-exec-reject
示例通知:
🚨 检测到危险操作 - 命令拦截
风险级别: CRITICAL
命令: rm -rf /tmp/test
原因: 递归删除带有强制标志
请求 ID: req_1769938492_9730
ℹ️ 此命令需要用户批准才能执行。
批准方法:
- 在终端中:
safe-exec-approve req_1769938492_9730 - 或:
safe-exec-list查看所有待处理请求
safe-exec-reject req_1769938492_9730 配置 环境变量用于自定义: SAFE_EXEC_DISABLE - 设置为 '1' 以全局禁用 safe-exec OPENCLAW_AGENT_CALL - 在代理模式下自动启用(非交互) SAFE_EXEC_AUTO_CONFIRM - 自动批准 LOW/MEDIUM 风险命令
示例 启用 SafeExec: 启用 SafeExec 启用后,代理正常工作: 删除 /var/log 中的旧日志文件 SafeExec 自动检测这是 HIGH 风险(删除)并显示会话批准提示。 安全操作无需中断: 列出 /home/user/documents 中的文件 这是 LOW 风险,执行无需批准。
全局控制 检查状态:safe-exec-list 查看审计日志:cat ~/.openclaw/safe-exec-audit.log 全局禁用 SafeExec: 禁用 SafeExec