OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  safe-exec:具备危险模式自动检测的 OpenClaw 安全命令执行工具

safe-exec:具备危险模式自动检测的 OpenClaw 安全命令执行工具

 
  gemini ·  2026-02-16 16:01:09 · 3 次点击  · 0 条评论  

名称: safe-exec
描述: 为 OpenClaw 智能体提供安全的命令执行功能,具备自动危险模式检测、风险评估、用户审批流程和审计日志记录。当智能体需要执行可能危险的 shell 命令(如 rm -rf, dd, fork bombs, 系统目录修改)或需要人工监督时使用。提供多级风险评估(CRITICAL/HIGH/MEDIUM/LOW)、会话内通知、待处理请求管理,并支持智能体自动化的非交互式环境。
元数据:
{
"openclaw":
{
"env": ["SAFE_EXEC_DISABLE", "OPENCLAW_AGENT_CALL", "SAFE_EXEC_AUTO_CONFIRM"],
"writes": ["~/.openclaw/safe-exec/", "~/.openclaw/safe-exec-audit.log"],
"network": false,
"monitoring": false,
"credentials": []
},
"requires": { "bins": ["jq"] },
"install":
[
{
"id": "git",
"kind": "git",
"url": "https://github.com/OTTTTTO/safe-exec.git",
"label": "从 GitHub 克隆",
},
],
}


SafeExec - 安全命令执行

为 OpenClaw 智能体提供安全的命令执行能力,自动拦截危险操作并启用审批流程。

功能特性

  • 🔍 自动危险模式检测 - 在执行前识别高风险命令
  • 🚨 基于风险的拦截 - 多级风险评估(CRITICAL/HIGH/MEDIUM/LOW)
  • 💬 会话内通知 - 在当前终端/会话中实时提醒
  • 用户审批流程 - 命令等待用户明确确认
  • 📊 完整的审计日志 - 记录所有操作,实现完全可追溯性
  • 🤖 智能体友好 - 支持自动化工作流的非交互模式
  • 🔧 平台无关 - 独立于通信工具(webchat、飞书、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 将在后台透明运行。智能体可以正常执行命令,SafeExec 会自动拦截危险操作:

删除 /tmp/test 中的所有文件
格式化 USB 驱动器

SafeExec 会检测风险级别并显示会话内提示以供批准。

风险等级

CRITICAL:系统破坏性命令(rm -rf /, dd, mkfs, fork bombs)
HIGH:用户数据删除或重大系统更改(chmod 777, curl | bash)
MEDIUM:服务操作或配置更改(sudo, 防火墙修改)
LOW:读取操作和安全的文件操作

审批流程

  1. 智能体执行命令
  2. SafeExec 分析风险等级
  3. 在您的终端中显示会话内通知
  4. 通过以下方式批准或拒绝:
    • 终端:safe-exec-approve <request_id>
    • 列出待处理请求:safe-exec-list
    • 拒绝:safe-exec-reject <request_id>
  5. 命令被执行或取消

通知示例:

🚨 **检测到危险操作 - 命令已被拦截**

**风险等级:** CRITICAL
**命令:** `rm -rf /tmp/test`
**原因:** 使用强制标志的递归删除

**请求 ID:** `req_1769938492_9730`

ℹ️  此命令需要用户批准才能执行。

**批准方法:**
1.  在终端中:`safe-exec-approve req_1769938492_9730`
2.  或者:`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

或者设置环境变量:

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 中的相关日志

审计日志

所有命令执行均被记录,包含:
- 时间戳
- 执行的命令
- 风险等级
- 执行模式(user_approved / agent_auto)
- 批准状态
- 执行结果
- 用于追溯的请求 ID

日志位置:~/.openclaw/safe-exec-audit.log

安全与隐私

SafeExec 的功能:
- ✅ 在执行前拦截 shell 命令
- ✅ 使用正则表达式匹配检测危险模式
- ✅ 为高风险命令请求用户批准
- ✅ 将所有执行记录到本地审计文件
- ✅ 完全在您的本地机器上运行

SafeExec 不执行的操作:
- ❌ 不监控聊天会话或对话历史
- ❌ 不读取 OpenClaw 会话数据
- ❌ 无外部网络请求(安装期间的 git clone 除外)
- ❌ 不向外部服务发送数据
- ❌ 无后台监控进程或 cron 作业
- ❌ 不与外部通知服务(飞书、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

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor