核心用法
openclaw-audit-watchdog 是一款专为 OpenClaw 代理设计的自动化安全审计工具,通过创建每日定时任务(cron job),持续监控代理的安全状态。
主要功能
双层审计机制:
- 标准审计(
openclaw security audit --json):12 项基础安全检查 - 深度审计(
openclaw security audit --deep --json):8 项深度安全探针
智能报告生成:
- 自动汇总关键/警告/信息级发现
- 按严重程度分类展示,附带单行修复建议
- 支持主机标识与时间戳标注
多渠道投递:
- 必需:DM 投递(Telegram/Slack 等,通过
PROMPTSEC_DM_CHANNEL+PROMPTSEC_DM_TO配置) - 可选:邮件备份(需显式配置
PROMPTSEC_EMAIL_TO)
部署方式
| 方式 | 场景 | 优势 |
|------|------|------|
| 套件捆绑(推荐) | 已安装 ClawSec Suite | 无需单独下载,标准路径安装 |
| 独立安装 | 仅需审计功能或预装场景 | 轻量可控,支持签名验证 |
交互与自动化
- MDM 友好:支持全环境变量配置,零交互部署
- 交互式兜底:未配置环境变量时启动最小化问答
- 幂等更新:检测到同名任务时自动更新而非重复创建
发现抑制机制(Defense-in-Depth)
双门控设计确保审慎使用:
1. 运行时需 --enable-suppressions 标志
2. 配置文件需包含 "enabledFor": ["audit"] 哨兵
支持 4 级配置路径解析,匹配规则严格(checkId 精确匹配 + skill 大小写不敏感)。
---
显著优点
1. 开箱即用的安全运营:预设每日 23:00 UTC 运行,降低安全监控的配置门槛
2. 企业级可观测性:主机标签、时区自定义、多环境隔离支持
3. 可信供应链:GitHub Release 附带签名验证(checksums.json + ClawSec 发布密钥)
4. 最小权限原则:隔离会话运行(sessionTarget="isolated"),不自动修复仅报告建议
5. 灵活投递架构:sendmail 本地 MTA 优先,SMTP 中继兜底,失败显式降级到 DM
---
潜在缺点与局限性
| 局限 | 说明 |
|------|------|
| 依赖链复杂 | 需同时满足 `openclaw` + `node` + `bash` 运行时 |
| 邮件非默认 | 必须显式配置 `PROMPTSEC_EMAIL_TO`,否则仅 DM |
| 无实时告警 | 定时批处理模式,非事件驱动 |
| 抑制配置门槛 | 双门控设计虽安全,但增加了运营认知负担 |
| 路径解析陷阱 | `PROMPTSEC_INSTALL_DIR` 需避免单引号包裹的 `$HOME`,否则创建字面量目录 |
| 深度探针可能失败 | 需单独处理探针错误行 |
---
适合人群
- DevSecOps 工程师:需要为多环境服务器建立标准化安全基线监控
- SRE/平台团队:希望通过现有 IM 渠道(Slack/Telegram)接收结构化安全报告
- 合规运维:需要可审计、可验证签名的安全工具供应链
- 中小团队:无专职安全人员,依赖自动化工具填补监控缺口
---
常规风险
| 风险类别 | 具体描述 | 缓解建议 |
|----------|----------|----------|
| 凭据泄露 | `PROMPTSEC_DM_TO`、`PROMPTSEC_EMAIL_TO` 等环境变量可能进入进程列表 | 使用专用 secret 管理(如 systemd credentials、Vault) |
| 邮件投递失败 | SMTP/sendmail 配置错误导致报告静默丢失 | 始终确认 DM 为主要投递渠道,邮件为可选增强 |
| 抑制机制滥用 | 过度压制真实漏洞导致安全盲区 | 定期审计 `~/.openclaw/security-audit.json`,设置过期审查 |
| 定时任务冲突 | `openclaw cron` 与其他系统 cron 资源竞争 | 监控执行时长,避免与备份等高负载任务重叠 |
| 签名验证绕过 | Standalone 安装时未执行验证脚本 | 强制 CI/CD 流程嵌入验证步骤,禁止直接 curl \| bash |
| 时区混淆 | `PROMPTSEC_TZ` 配置错误导致报告时间戳误导 | 使用 IANA 标准时区名称,跨团队统一 UTC 基准 |