openclaw-audit-watchdogAutomated daily security audits for OpenClaw agents with email reporting. Runs deep audits and sends formatted reports.
Install via ClawdBot CLI:
clawdbot install davida-ps/openclaw-audit-watchdogYou can get openclaw-audit-watchdog in two ways:
If you've installed clawsec-suite, you may already have this!
Openclaw-audit-watchdog is bundled alongside ClawSec Suite to provide crucial automated security audit capabilities. When you install the suite, if you don't already have the audit watchdog installed, it will be deployed from the bundled copy.
Advantages:
~/.openclaw/skills/openclaw-audit-watchdog/Install openclaw-audit-watchdog independently without the full suite.
When to use standalone:
Advantages:
Continue below for standalone installation instructions.
Create (or update) a daily cron job that:
1) Runs:
openclaw security audit --jsonopenclaw security audit --deep --json2) Summarizes findings (critical/warn/info + top findings)
3) Sends the report to:
Default schedule: daily at 23:00 (11pm) in the chosen timezone.
Delivery:
For automated/MDM deployments, set environment variables before invoking:
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
The skill will automatically configure and create the cron job without prompts.
If environment variables aren't set, the skill will prompt minimally:
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
If a job already exists, the skill updates it instead of creating duplicates:
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
Each day at the scheduled time, you'll receive a report like:
π 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.
Want a different schedule? Set it before invoking:
# Run every 6 hours instead of daily
export PROMPTSEC_SCHEDULE="0 */6 * * *"
/openclaw-audit-watchdog
For managing multiple servers, use different host labels:
# 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
Each will send reports with clear host identification.
To suppress audit findings that have been reviewed and accepted, pass the --enable-suppressions flag and ensure the config file includes the "enabledFor": ["audit"] sentinel:
# 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
Suppressed findings still appear in the report under an informational section but are excluded from critical/warning totals.
The audit pipeline supports an opt-in suppression mechanism for managing reviewed findings. Suppression uses defense-in-depth activation: two independent gates must both be satisfied.
--enable-suppressions flag must be passed at invocation."enabledFor" with "audit" in the array.If either gate is absent, all findings are reported normally and the suppression list is ignored.
--config argumentOPENCLAW_AUDIT_CONFIG environment variable~/.openclaw/security-audit.json.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"] -- audit suppression active (requires --enable-suppressions flag too)"enabledFor": ["advisory"] -- only advisory pipeline suppression (no effect on audit)"enabledFor": ["audit", "advisory"] -- both pipelines honor suppressionsenabledFor -- no suppression active (safe default)skills.code_safety)Provisioning (MDM-friendly): prefer environment variables (no prompts).
Required env:
PROMPTSEC_DM_CHANNEL (e.g. telegram)PROMPTSEC_DM_TO (recipient id)Optional env:
PROMPTSEC_TZ (IANA timezone; default UTC)PROMPTSEC_HOST_LABEL (label included in report; default uses hostname)PROMPTSEC_INSTALL_DIR (stable path used by cron payload to cd before running runner; default: ~/.config/security-checkup)PROMPTSEC_GIT_PULL=1 (runner will git pull --ff-only if installed from git)Path expansion rules (important):
bash/zsh, use PROMPTSEC_INSTALL_DIR="$HOME/.config/security-checkup" (or absolute path).'$HOME/.config/security-checkup'.$env:PROMPTSEC_INSTALL_DIR = Join-Path $HOME ".config/security-checkup".$HOME directory segment.Interactive install is last resort if env vars or defaults are not set.
even in that case keep prompts minimalistic the watchdog tool is pretty straight up configured out of the box.
Use the cron tool to create a job with:
schedule.kind="cron"schedule.expr="0 23 *"schedule.tz=sessionTarget="isolated"wakeMode="now"payload.kind="agentTurn"payload.deliver=trueCreate the job with a payload message that instructs the isolated run to:
1) Run the audits
openclaw security audit --jsonopenclaw security audit --deep --json2) Render a concise text report:
Include:
checkId + title + 1-line remediation3) Deliver the report:
message toolAttempt email delivery in this priority order:
A) If an email channel plugin exists in this deployment, use:
message(action="send", channel="email", target="target@example.com", message=) B) Otherwise, fallback to local sendmail if available:
exec with: printf "%s" "$REPORT" | /usr/sbin/sendmail -t (construct To/Subject headers)If neither path is possible, still DM the user and include a line:
"NOTE: could not deliver to target@example.com (email channel not configured)"Before adding a new job:
cron.list(includeDisabled=true)"Daily security audit" exists, update it instead of adding a duplicate:"Daily security audit (Prompt Security)"The cronβs report should suggest fixes but must not apply them.
Do not run openclaw security audit --fix unless explicitly asked.
Generated Mar 1, 2026
An MSSP managing multiple client environments uses this skill to automate daily security audits across all client servers. They configure different host labels and delivery targets for each client, ensuring tailored reports reach the appropriate security teams. This enables proactive monitoring and reduces manual audit overhead.
An e-commerce company runs this skill on their production servers to monitor for security vulnerabilities like unencrypted API keys or outdated dependencies. The daily reports are sent to the on-call engineering team via Slack, allowing quick remediation of critical findings before they impact customer transactions or data security.
A bank or fintech firm implements this skill to meet regulatory requirements for daily security audits. They use the suppression feature to document accepted risks while ensuring all findings are tracked. Reports are delivered to compliance officers via secure channels, maintaining audit trails for regulators.
A SaaS company's DevOps team deploys this skill across development, staging, and production environments. They use different host labels and schedules (e.g., more frequent checks in production) to monitor security posture. Findings help prioritize fixes in CI/CD pipelines and reduce deployment risks.
A healthcare provider uses this skill to audit servers handling protected health information (PHI). The deep audit probes help detect configuration issues that could lead to HIPAA violations. Reports are sent to the security team via Telegram for immediate attention on critical vulnerabilities.
This skill could be part of a premium security suite offered as a monthly subscription. Customers pay for automated audits, reporting features, and integration with other security tools. Revenue comes from tiered plans based on the number of servers or audit frequency.
The core skill is offered for free to build a user base, while advanced features like custom schedules, multiple delivery channels, or detailed analytics are part of a paid version. Revenue is generated from enterprises needing enhanced capabilities and support.
This skill is bundled with professional security services, where consultants use it to provide ongoing audit services for clients. Revenue comes from service fees for setup, monitoring, and remediation support, rather than direct tool sales.
π¬ Integration Tip
Set environment variables like PROMPTSEC_DM_CHANNEL and PROMPTSEC_DM_TO before running the skill for automated, non-interactive setup in CI/CD pipelines or managed deployments.
Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack π¦
Use the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.
Clawdbot documentation expert with decision tree navigation, search scripts, doc fetching, version tracking, and config snippets for all Clawdbot features
Interact with Moltbook social network for AI agents. Post, reply, browse, and analyze engagement. Use when the user wants to engage with Moltbook, check their feed, reply to posts, or track their activity on the agent social network.
OpenClaw CLI wrapper β gateway, channels, models, agents, nodes, browser, memory, security, automation.
MoltGuard β runtime security plugin for OpenClaw agents by OpenGuardrails. Helps users install, register, activate, and check the status of MoltGuard. Use wh...