📦 OpenClaw Guardian — 安全拦截层
v1.0.1OpenClaw 的安全层插件,通过双层正则黑名单和 LLM 意图验证拦截危险工具调用(exec、write、edit)。关键操作需 3/3 一致 LLM 投票,警告级操作需 1 次 LLM 确认。99% 的正常操作零延迟直接通过。包含绕过/管道攻击检测、路径规范化、SHA-256 哈希链审计日志,自动从现有配置中发现低成本模型。
0· 631·8 当前·11 累计
安全扫描
OpenClaw
安全
medium confidence插件功能如描述所述——基于正则的拦截门,会就标记的操作咨询用户配置的 LLM,但它会读取本地对话会话并使用您配置好的模型凭据(因此在启用前请审查实现和提供商信任度)。
评估建议
该插件与其目的内在一致,但在安装前请:(1) 验证插件来源(README 建议查看 GitHub 仓库)并自行或通过可信审查者审查包含的代码;(2) 理解 Guardian 会读取最近的对话会话文件并将其发送到 OpenClaw 中配置的任何模型提供商(因此确保您信任该提供商且已配置为不泄露敏感数据);(3) 检查并可能限制其可使用的提供商/配置项,审查审计日志位置(~/.openclaw/guardian-audit.jsonl);(4) 考虑降低自动信任度(trustBudget)或在启用前在安全环境中测试。如需要,我可以指出需要审查的具体行或总结哪些文件/字段会被发送到 LLM 调用。...详细分析 ▾
✓ 用途与能力
名称/描述与代码和运行时指令匹配:它拦截 exec/write/edit 调用,应用双层正则黑名单,并对标记的操作使用基于 LLM 的投票。未请求无关服务或凭据。
ℹ 指令范围
SKILL.md 和代码明确读取最近的对话会话文件以获取上下文,并将该上下文发送到模型提供商进行意图检查。读取用户消息对其声明的「用户是否要求此操作?」功能是必要的,但这是一个敏感操作(对话内容可能包含 secrets)。对黑名单命中也会执行到 ~/.openclaw/guardian-audit.jsonl 的审计日志记录。
ℹ 安装机制
未包含打包安装程序(README 建议克隆 GitHub 仓库或使用 openclaw plugins install)。技能包包含源代码,因此提供的包中没有隐藏的下载步骤,但手动安装说明指向外部 GitHub 仓库(克隆前验证来源/信任)。
ℹ 凭证需求
插件未声明额外的环境变量,但它会自动发现用户的 OpenClaw 模型提供商并从 OpenClaw 配置中读取 provider.baseUrl 和 provider.apiKey 以调用 LLM 端点。这与其声称的 LLM 投票功能相称,但意味着您现有的模型凭据和对话上下文将被使用/发送到这些提供商——请审查提供商信任度和配置隐私设置。
✓ 持久化与权限
它注册了 before_tool_call 钩子(安全门的预期行为),未设置 always: true,且不修改其他插件。它将审计日志写入用户主目录(对审计跟踪来说是正常的)。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.12026/2/25
修复:匹配实际实现(黑名单 + LLM 投票,无评分)。更新核心代码至 PR #25480。
● 可疑
安装命令
点击复制官方npx clawhub@latest install openclaw-guardian
镜像加速npx clawhub@latest install openclaw-guardian --registry https://cn.longxiaskill.com
技能文档
AI 代理缺失的安全层。
为什么需要?
OpenClaw 让代理直接访问 shell、文件、浏览器等。其中 99% 是无害的。Guardian 捕获那 1% 的危险操作——而不会减慢其他操作。
工作原理
工具调用 → 黑名单匹配器(正则规则,0ms)
↓
无匹配 → 立即通过(99% 的调用)
警告命中 → 1 次 LLM 投票(「用户是否要求此操作?」)
关键命中 → 3 次 LLM 投票(所有投票必须确认用户意图)
两个黑名单级别
| 级别 | LLM 投票数 | 延迟 | 示例 |
|---|---|---|---|
| 无匹配 | 0 | ~0ms | 读取文件、git、正常操作 |
| 警告 | 1 | ~1-2s | rm -rf /tmp/cache、chmod 777、sudo apt |
| 关键 | 3(一致) | ~2-4s | rm -rf ~/、mkfs、dd of=/dev/、shutdown |
检查什么?
只检查三种工具类型:
exec→ 命令字符串与 exec 黑名单匹配write/edit→ 文件路径规范化后与路径黑名单匹配- 其他所有操作立即通过
LLM 意图验证
当黑名单规则匹配时,Guardian 会询问轻量级 LLM:「用户是否明确要求此操作?」它读取最近的对话上下文以防止误报。
- 警告:1 次 LLM 调用。确认 → 继续。
- 关键:3 次并行 LLM 调用。所有 3 次必须确认。任何「否」→ 阻止。
从您现有的 OpenClaw 提供商配置中自动发现低成本/快速模型(优先选择 Haiku)。无需单独的 API 密钥。
LLM 降级策略
- 关键 + LLM 不可用 → 被阻止(故障安全)
- 警告 + LLM 不可用 → 询问用户手动确认
黑名单规则
关键(exec)
- 对系统路径的
rm -rf(排除/tmp/和工作区) mkfs、dd到块设备,重定向到/dev/sd*- 写入
/etc/passwd、/etc/shadow、/etc/sudoers shutdown、reboot、禁用 SSH- 绕过:
eval、绝对路径 rm、基于解释器的(python -c、node -e) - 管道攻击:
curl | sh、wget | bash、base64 -d | sh - 链式攻击:下载 +
chmod +x+ 执行
警告(exec)
- 对安全路径的
rm -rf、sudo、chmod 777、chown root - 包安装/删除、服务管理
- Crontab 修改、SSH/SCP、Docker 操作、
kill/killall
路径规则(write/edit)
- 关键:系统认证文件、SSH 密钥、systemd 单元
- 警告:点文件、
/etc/配置、.env文件、authorized_keys
审计日志
每次黑名单命中都记录到 ~/.openclaw/guardian-audit.jsonl,带有 SHA-256 哈希链——防篡改,每条记录包含完整内容和前一个哈希。
安装
openclaw plugins install openclaw-guardian
或者手动安装:
cd ~/.openclaw/workspace
git clone https://github.com/fatcatMaoFei/openclaw-guardian.git
Token 成本
| 场景 | 操作占比 | 额外成本 |
|---|---|---|
| 无匹配 | ~99% | 0 |
| 警告 | ~0.5-1% | ~500 tokens |
| 关键 | <0.5% | ~1500 tokens |
文件结构
extensions/guardian/
├── index.ts # 入口 — 注册 before_tool_call 钩子
├── src/
│ ├── blacklist.ts # 双层正则规则(关键/警告)
│ ├── llm-voter.ts # LLM 意图验证
│ └── audit-log.ts # SHA-256 哈希链审计日志
├── test/
│ └── blacklist.test.ts # 黑名单规则测试
├── openclaw.plugin.json # 插件清单
└── default-policies.json # 启用/禁用开关
许可证
MIT