网淘吧来吧,欢迎您!

openclaw-audit-watchdog技能使用说明

2026-04-01 新闻来源:网淘吧 围观:11
电脑广告
手机广告

提示安全审计 (openclaw)

安装选项

您可以通过两种方式获取 openclaw-audit-watchdog:

选项 A:与 ClawSec 套件捆绑安装(推荐)

如果您已安装 clawsec-suite,可能已经包含此组件!

openclaw-audit-watchdog

openclaw-audit-watchdog 与 ClawSec 套件捆绑提供,以提供关键的自动化安全审计功能。安装套件时,如果尚未安装审计看门狗,将从捆绑副本中部署。

优势:

  • 便捷 - 无需单独下载
  • 标准位置 - 安装至~/.openclaw/skills/openclaw-audit-watchdog/
  • 保护性 - 若已安装审计看门狗,不会被覆盖
  • 单一验证 - 作为套件包的组成部分进行完整性检查

选项 B:独立安装(本页)

无需完整套件,独立安装 openclaw-audit-watchdog。

适用场景:

  • 仅需审计看门狗(无需其他套件组件)
  • 您希望在安装套件之前先进行安装
  • 您更倾向于对审计监控程序的安装进行明确控制

优势:

  • 更轻量级的安装
  • 独立于套件
  • 对安装过程的直接控制

继续以下独立安装说明。


目标

创建(或更新)一个每日cron任务,该任务:

  1. 运行:
  • openclaw security audit --json
  • openclaw security audit --deep --json
  1. 总结发现(关键/警告/信息 + 主要发现)

  2. 将报告发送至:

  • 用户选定的DM目标(频道 + 接收者ID/句柄)

默认计划:每日23:00(晚上11点)在所选时区。

交付方式:

  • 发送私信至最近活跃的会话

使用示例

示例1:快速启动(环境变量)

对于自动化/MDM部署,请在调用前设置环境变量:

export PROMPTSEC_DM_CHANNEL="telegram"
export PROMPTSEC_DM_TO="@yourhandle"
export PROMPTSEC_TZ="America/New_York"
export PROMPTSEC_HOST_LABEL="prod-server-01"

# Then invoke the skill
/openclaw-audit-watchdog

该技能将自动配置并创建cron任务,无需提示。

示例2:交互式设置

如果未设置环境变量,该技能将进行最简化的提示:

User: /openclaw-audit-watchdog

Agent: Setting up daily security audit watchdog...
       What channel should I use for delivery? (e.g., telegram, slack)
User: telegram

Agent: What's the recipient ID or handle?
User: @myhandle

Agent: Which timezone for the 23:00 daily run? (default: UTC)
User: America/Los_Angeles

Agent: ✓ Created cron job "Daily security audit (Prompt Security)"
       Schedule: Daily at 23:00 America/Los_Angeles
       Delivery: telegram → @myhandle

示例3:更新现有任务

如果任务已存在,该技能将更新它而不是重复创建:

User: /openclaw-audit-watchdog

Agent: Found existing "Daily security audit (Prompt Security)" job.
       Current: Daily at 23:00 UTC → telegram:@oldhandle

       Update delivery target? (current: telegram:@oldhandle)
User: slack:#security-alerts

Agent: ✓ Updated cron job
       Schedule: Daily at 23:00 UTC
       Delivery: slack:#security-alerts

示例4:交付内容

每天在预定时间,您将收到如下报告:

🔭 Daily Security Audit Report
Host: prod-server-01
Time: 2026-02-16 23:00:00 America/New_York

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SUMMARY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Standard Audit: 12 checks passed, 2 warnings
✓ Deep Audit: 8 probes passed, 1 critical

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CRITICAL FINDINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[CRIT-001] Unencrypted API Keys Detected
→ Remediation: Move credentials to encrypted vault or use environment variables

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WARNINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[WARN-003] Outdated Dependencies Found
→ Remediation: Run `openclaw security audit --fix` to update

[WARN-007] Weak Permission on Config File
→ Remediation: chmod 600 ~/.openclaw/config.json

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Run `openclaw security audit --deep` for full details.

示例5:自定义计划

需要不同的计划?请在调用前设置:

# Run every 6 hours instead of daily
export PROMPTSEC_SCHEDULE="0 */6 * * *"
/openclaw-audit-watchdog

示例6:多环境管理

要管理多个服务器,请使用不同的主机标签:

# On dev server
export PROMPTSEC_HOST_LABEL="dev-01"
export PROMPTSEC_DM_TO="@dev-team"
/openclaw-audit-watchdog

# On prod server
export PROMPTSEC_HOST_LABEL="prod-01"
export PROMPTSEC_DM_TO="@oncall"
/openclaw-audit-watchdog

每个都将发送带有明确主机标识的报告。

示例7:抑制已知发现

要抑制已审查并接受的审计发现,请传递--enable-suppressions设置标志并确保配置文件包含"enabledFor": ["audit"]哨兵:

# Create or edit the suppression config
cat > ~/.openclaw/security-audit.json <<'JSON'
{
  "enabledFor": ["audit"],
  "suppressions": [
    {
      "checkId": "skills.code_safety",
      "skill": "clawsec-suite",
      "reason": "First-party security tooling — reviewed by security team",
      "suppressedAt": "2026-02-15"
    }
  ]
}
JSON

# Run with suppressions enabled
/openclaw-audit-watchdog --enable-suppressions

被抑制的发现项仍会出现在报告的信息部分中,但会从关键/警告总数中排除。

抑制 / 允许列表

审计管道支持一种选择加入的抑制机制,用于管理已审查的发现项。抑制采用纵深防御激活方式:必须同时满足两个独立的关卡。

激活要求

  1. 命令行标志:必须在调用时传递--enable-suppressions标志。
  2. 配置哨兵:配置文件必须包含"enabledFor"并且数组中包含"audit"

如果任一关卡缺失,所有发现项将正常报告,抑制列表将被忽略。

配置文件解析(4层)

  1. 显式--config <路径>参数
  2. OPENCLAW_AUDIT_CONFIG环境变量
  3. ~/.openclaw/security-audit.json
  4. .clawsec/allowlist.json

配置格式

{
  "enabledFor": ["audit"],
  "suppressions": [
    {
      "checkId": "skills.code_safety",
      "skill": "clawsec-suite",
      "reason": "First-party security tooling — reviewed by security team",
      "suppressedAt": "2026-02-15"
    }
  ]
}

哨兵语义

  • "enabledFor": ["audit"]-- 审计抑制生效(同时需要--enable-suppressions标志)
  • "enabledFor": ["advisory"]-- 仅咨询流水线抑制(对审计无影响)
  • "enabledFor": ["audit", "advisory"]-- 两条流水线均遵循抑制规则
  • 缺失或为空enabledFor-- 无抑制生效(安全默认值)

匹配规则

  • checkId:与审计发现的检查标识符精确匹配(例如,技能.代码安全)
  • 技能:与发现结果中的技能名称进行不区分大小写的匹配
  • 两个字段必须匹配才能抑制发现结果

安装流程(交互式)

配置(MDM友好):优先使用环境变量(无需提示)。

必需的环境变量:

  • PROMPTSEC_DM_CHANNEL(例如:telegram
  • PROMPTSEC_DM_TO(收件人ID)

可选的环境变量:

  • PROMPTSEC_TZ(IANA时区;默认为UTC
  • PROMPTSEC_HOST_LABEL(报告中包含的标签;默认使用主机名
  • PROMPTSEC_INSTALL_DIR(cron载荷使用的稳定路径,在运行runner之前切换目录;默认:~/.config/security-checkup
  • PROMPTSEC_GIT_PULL=1(如果是从git安装,runner将执行 git pull --ff-only

路径扩展规则(重要):

  • bashzsh中,请使用PROMPTSEC_INSTALL_DIR="$HOME/.config/security-checkup"(或绝对路径)。
  • 不要传递像'$HOME/.config/security-checkup'这样的单引号字面量。
  • 在PowerShell中,建议使用:$env:PROMPTSEC_INSTALL_DIR = Join-Path $HOME ".config/security-checkup"
  • 如果路径解析失败,设置程序现在会以明确的错误信息退出,而不是创建一个字面意义上的$HOME目录段。

如果环境变量或默认值未设置,交互式安装将是最后的手段。

即使在这种情况下,也要保持提示简洁,看门狗工具基本上是开箱即用的。

创建cron任务

使用cron工具创建一个任务,参数如下:

  • schedule.kind="cron"
  • schedule.expr="0 23 * * *"
  • schedule.tz=<安装程序时区>
  • sessionTarget="isolated"
  • wakeMode="now"
  • payload.kind="agentTurn"
  • payload.deliver=true

负载消息模板(agentTurn)

创建一个带有负载消息的任务,该消息指示独立运行执行以下操作:

  1. 运行审计
  • 为便于稳健解析,优先使用JSON输出:
    • openclaw security audit --json
    • openclaw security audit --deep --json
  1. 生成一份简洁的文本报告:

包含:

  • 时间戳 + 主机标识符(如可用)
  • 摘要统计
  • 对于每个CRITICAL/WARN级别的发现:检查ID+标题+ 一行修复建议
  • 如果深度探测失败:包含探测错误行
  1. 交付报告:
  • 使用以下方式向选定的用户目标发送私信消息工具

电子邮件交付要求

按此优先级顺序尝试电子邮件交付:

A) 如果此部署中存在电子邮件通道插件,则使用:

  • message(action="send", channel="email", target="target@example.com", message=<report>)

B) 否则,回退到本地的sendmail(如果可用):

  • exec使用:printf "%s" "$REPORT" | /usr/sbin/sendmail -t(构造收件人/主题头)

如果两种路径都不可行,仍应私信用户并包含一行:

  • "注意:无法发送至 target@example.com(电子邮件通道未配置)"

幂等性 / 更新

添加新作业前:

  • cron.list(includeDisabled=true)
  • 若存在名称匹配"每日安全审计"的作业,应更新而非重复添加:
    • 调整时区/表达式计划
    • 调整私信目标

建议命名

  • 作业名称:"每日安全审计 (Prompt Security)"

最小推荐默认值(勿自动更改配置)

cron的报告应建议修复方案但不得自动实施。

切勿运行执行OpenClaw安全审计并修复问题除非明确要求。

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏

文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第394039名访客 今日有1篇新文章/评论