Safe Exec技能使用说明
SafeExec - 安全命令执行
为 OpenClaw Agents 提供安全的命令执行能力,具备自动拦截危险操作和审批流程。
功能特性
- 🔍自动危险模式检测- 在执行前识别有风险的命令
- 🚨基于风险的拦截- 多级风险评估(严重/高/中/低)
- 💬会话内通知- 在当前终端/会话中进行实时警报
- ✅用户审批流程- 命令等待明确确认
- 📊完整的审计日志- 所有操作的全流程可追溯性
- 🤖代理友好- 支持非交互模式,适用于自动化工作流
- 🔧平台无关性- 独立于通信工具运行(网页聊天、飞书、Telegram等)
- 🔐注重安全性- 无监控、无外部通知、无网络调用
代理模式
当在非交互式环境中被OpenClaw代理调用时:
- 自动绕过确认提示- 防止代理挂起
- 完整的审计日志记录- 所有执行记录均带有模式标签(agent_auto对比user_approved)
- 安全性保持- 危险模式检测和风险评估仍保持激活
- 预期使用场景- 通过审计日志进行人工监督的自动化工作流
环境变量:
OPENCLAW_AGENT_CALL- 由OpenClaw在代理执行命令时设置SAFE_EXEC_AUTO_CONFIRM- 手动覆盖,自动批准低/中风险命令
安全提示:代理模式不会禁用安全检查。CRITICAL(关键)和HIGH(高风险)级别的命令仍会被拦截、记录,并可在审计跟踪中查看。
快速开始
安装(一键命令)
安装SafeExec最简单的方法是:
只需在您的OpenClaw聊天中说:
Help me install SafeExec skill from ClawdHub
OpenClaw将自动为您下载、安装并配置SafeExec!
备选方案:手动安装
如果您倾向于手动安装:
# Clone from GitHub
git clone https://github.com/OTTTTTO/safe-exec.git ~/.openclaw/skills/safe-exec
# Make scripts executable
chmod +x ~/.openclaw/skills/safe-exec/safe-exec*.sh
# Create symlinks to PATH (optional)
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
安装完成后,只需说:
Enable SafeExec
SafeExec将自动开始监控所有Shell命令!
工作原理
一旦启用,SafeExec会自动监控所有Shell命令的执行。当检测到潜在危险命令时,它会拦截执行,并通过会话内终端通知请求您的批准。
架构:
- 请求存储在:
~/.openclaw/safe-exec/pending/ - 审计日志:
~/.openclaw/safe-exec-audit.log - 规则配置:
~/.openclaw/safe-exec-rules.json - 无外部网络调用
- 无后台监控进程
使用方法
启用 SafeExec:
Enable SafeExec
Turn on SafeExec
Start SafeExec
启用后,SafeExec 将在后台透明运行。代理可以正常执行命令,SafeExec 将自动拦截危险操作:
Delete all files in /tmp/test
Format the USB drive
SafeExec 检测风险级别并显示会话内提示以请求批准。
风险级别
严重: 系统破坏性命令(rm -rf /, dd, mkfs, fork炸弹)高: 用户数据删除或重大系统更改(chmod 777, curl | bash)中: 服务操作或配置更改(sudo, 防火墙修改)低: 读取操作和安全文件操作
审批流程
- Agent 执行命令
- SafeExec 分析风险等级
- 会话内通知显示在您的终端中
- 通过以下方式批准或拒绝:
- 终端:
safe-exec-approve <request_id> - 列出待处理请求:
safe-exec-list - 拒绝:
safe-exec-reject <request_id>
- 终端:
- 命令执行或被取消
通知示例:
🚨 **Dangerous Operation Detected - Command Intercepted**
**Risk Level:** CRITICAL
**Command:** `rm -rf /tmp/test`
**Reason:** Recursive deletion with force flag
**Request ID:** `req_1769938492_9730`
ℹ️ This command requires user approval to execute.
**Approval Methods:**
1. In terminal: `safe-exec-approve req_1769938492_9730`
2. Or: `safe-exec-list` to view all pending requests
**Rejection Method:**
`safe-exec-reject req_1769938492_9730`
配置
用于自定义的环境变量:
SAFE_EXEC_DISABLE- 设置为 '1' 以全局禁用 safe-execOPENCLAW_AGENT_CALL- 在代理模式(非交互式)下自动启用SAFE_EXEC_AUTO_CONFIRM- 自动批准低/中风险命令
示例
启用SafeExec:
Enable SafeExec
启用后,代理正常工作:
Delete old log files from /var/log
SafeExec会自动检测到这是高风险(删除)操作,并显示会话内审批提示。
安全操作会无中断地通过:
List files in /home/user/documents
这是低风险操作,无需批准即可执行。
全局控制
检查状态:
safe-exec-list
查看审计日志:
cat ~/.openclaw/safe-exec-audit.log
全局禁用SafeExec:
Disable SafeExec
或设置环境变量:
export SAFE_EXEC_DISABLE=1
问题报告
发现漏洞?有功能请求?
请在以下链接报告问题: 🔗https://github.com/OTTTTTO/safe-exec/issues
我们欢迎社区反馈、漏洞报告和功能建议!
报告问题时,请包含:
- SafeExec版本(运行:
grep "VERSION" ~/.openclaw/skills/safe-exec/safe-exec.sh) - OpenClaw版本
- 复现步骤
- 预期与实际行为
- 相关日志来自
~/.openclaw/safe-exec-audit.log
审计日志
所有命令执行均记录以下信息:
- 时间戳
- 执行的命令
- 风险等级
- 执行模式(用户批准/代理自动)
- 批准状态
- 执行结果
- 用于追溯的请求ID
日志位置:~/.openclaw/safe-exec-audit.log
安全与隐私
SafeExec的功能:
- ✅ 在执行前拦截shell命令
- ✅ 通过正则匹配检测危险模式
- ✅ 对风险命令请求用户批准
- ✅ 将所有执行记录至本地审计文件
- ✅ 完全在您的本地机器上运行
SafeExec 不执行以下操作:
- ❌ 不监控聊天会话或对话历史
- ❌ 不读取 OpenClaw 会话数据
- ❌ 无外部网络请求(安装期间的 git clone 除外)
- ❌ 不向外部服务发送数据
- ❌ 无后台监控进程或定时任务
- ❌ 不与外部通知服务(飞书、webhooks 等)集成
集成
SafeExec 与 OpenClaw 智能体无缝集成。一旦启用,它便能透明地工作,无需更改智能体行为或命令结构。审批流程完全本地化,独立于任何外部通信平台。
平台独立性
SafeExec 在会话层面运行,可与您的 OpenClaw 实例支持的任何通信渠道(webchat、飞书、Telegram、Discord 等)协同工作。审批流程通过您的终端进行,确保无论您如何与智能体交互,都能保持控制。
支持与社区
- GitHub 仓库: https://github.com/OTTTTTO/safe-exec
- 问题追踪: https://github.com/OTTTTTO/safe-exec/issues
- 文档: README.md
- ClawdHub: https://www.clawhub.ai/skills/safe-exec
许可证
MIT许可证 - 详情请见LICENSE文件。


微信扫一扫,打赏作者吧~