config-guardian

自动监控并保护 OpenClaw 配置文件,支持回滚、锁定与审计日志。

已扫描高权限提醒
适合谁
运维工程师、OpenClaw 平台管理员
不适合谁
非 Linux 环境用户、无 root 权限的普通用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
中等(★★☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @xbcvv/openclaw-config-guardian

Skill 说明

命令、参数、文件名以原文为准

config-guardian(配置自愈)

自动监控 openclaw.json,写入失败自动回滚到上一个有效版本。支持磁盘持久化锁定模式、多版本快照、结构化审计日志、SIGUSR1 热重载。

功能一览

  • 自动回滚:任何写入触发验证,失败立即恢复到 baseline
  • 锁定模式:连续 3 次失败后进入锁定,所有写入强制回滚,监控不停止
  • 持久化状态:锁定状态落盘,守护重启后依然有效
  • 多版本 baseline:每次更新 baseline 前归档,保留最近 7 个有效版本
  • SIGUSR1 热重载:回滚/验证通过后自动通知 gateway,无需手动重启
  • 审计日志:每次操作记录时间戳、事件类型、触发进程
  • 自身完整性:启动时 SHA256 自检,脚本被篡改则拒绝启动并告警
  • 双端告警:熔断时向 Discord + Telegram 发送告警

前提条件

  • 系统:Linux,systemd 环境
  • 依赖:inotify-tools(inotifywait)、jq
  • 权限:root(守护以 root 运行)
  • OpenClaw gateway 已部署(/root/.openclaw/openclaw.json 存在)
# 安装依赖
apt-get install -y inotify-tools jq

安装

bash scripts/install.sh

安装后验证:

systemctl status openclaw-config-guardian
# 应显示:active (running),日志含 🛡️ guardian v3.2 started

核心命令速查

# 查看守护状态
systemctl status openclaw-config-guardian

# 实时日志
journalctl -u openclaw-config-guardian -f

# 查看锁定状态
jq '.locked, .attempts, .last_error' /root/.openclaw/backups/config/.guardian_state.json

# 解锁(锁定模式下,配置修复后执行)
openclaw-config-guardian unlock

# 查看审计日志
tail -30 /root/.openclaw/backups/config/guardian_audit.log

# 查看 baseline 历史
ls -lth /root/.openclaw/backups/config/baseline_history/

# 重启守护
systemctl restart openclaw-config-guardian

解锁流程

  1. 通过官方通道修复配置:openclaw config.patch ...
  2. 执行解锁(内置 validate,通过才解锁):
   openclaw-config-guardian unlock
  1. 确认:jq '.locked' /root/.openclaw/backups/config/.guardian_state.jsonfalse

更新 guardian 脚本后必须刷新 checksum

sha256sum /usr/local/bin/openclaw-config-guardian > \
  /root/.openclaw/backups/config/.guardian_checksum
systemctl restart openclaw-config-guardian

安全说明

为什么需要 root 权限

guardian 以 root 运行是必要的:

  1. 监控目标/root/.openclaw/openclaw.json 归属 root,非 root 无法可靠监控
  2. 回滚操作:需要覆盖写入配置文件,需要 root 权限
  3. systemd 交互:发送 SIGUSR1 给 Gateway 进程需要匹配权限
  4. 无网络访问:guardian 不发起任何网络请求,无数据外传风险
  5. 本地闭环:所有操作(监控、验证、回滚、告警)完全在本机执行

guardian 不读取任何密钥、不执行动态代码,root 权限仅用于文件系统操作和进程信号。

关于告警网络访问:guardian 通过调用本机 openclaw message send CLI 命令发送熔断告警(Discord/Telegram)。网络连接由已运行的 OpenClaw Gateway 进程负责,guardian 脚本本身不直接发起任何网络连接,不持有任何凭证。如未部署 OpenClaw Gateway,告警调用会静默失败(2>/dev/null || true),不影响核心保护功能。

关于 guardian 脚本:runtime 脚本已打包在 scripts/openclaw-config-guardian,install.sh 从包内复制到 /usr/local/bin/,不从外部获取任何二进制文件。

参考文档

  • references/DESIGN.md — 架构设计与状态机说明
  • references/USAGE.md — 日常使用与失败处理
  • references/OPERATION.md — 运维与故障排除
  • references/ARCHIVE.md — 版本历史与文件清单
X
@xbcvv

已收录 1 个 Skill

相关推荐