Destructive delete command
- Finding
- Documentation contains a destructive delete command without an explicit confirmation gate.
Security checks across static analysis, malware telemetry, and agentic risk
This appears to be a real OpenClaw watchdog, but it installs a persistent auto-recovery service and contains support for storing unrelated OpenAI/Anthropic API keys that are not needed for its stated purpose.
Review this skill before installing. It is designed to run continuously and restart OpenClaw automatically, so only enable it if you want that behavior. Provide only the Telegram bot token and chat ID; do not provide OpenAI or Anthropic API keys unless the maintainer clearly documents why they are needed.
66/66 vendors flagged this skill as clean.
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
If a user provides these extra API keys, the watchdog stores sensitive credentials that are not needed for the current monitoring feature.
The setup script accepts and stores OpenAI and Anthropic API keys even though the stated watchdog function only needs Telegram credentials for alerts.
--openai-key) OPENAI_KEY="$2"; ... --anthropic-key) ANTHROPIC_KEY="$2"; ... 'openai_key': sys.argv[3], 'anthropic_key': sys.argv[4]
Do not provide OpenAI or Anthropic keys to this skill. The maintainer should remove unused credential parameters or clearly document and scope any future use.
The watchdog will keep running after setup and can continue monitoring and acting until the user disables or uninstalls it.
The setup installs a long-running user-level background service that starts automatically and stays alive.
'RunAtLoad': True, 'KeepAlive': True ... systemctl --user enable openclaw-watchdog ... systemctl --user restart openclaw-watchdog
Install only if you want continuous monitoring, and keep the uninstall/disable commands available.
This can change the local OpenClaw installation and running gateway state. The restart behavior is automatic; the reinstall path is documented as approval-gated.
The watchdog can run local system commands to restart the gateway and, after an approval file exists, reinstall OpenClaw globally.
subprocess.run(["openclaw", "gateway", "restart"] ...); ... subprocess.run(["npm", "install", "-g", "openclaw"] ...)
Review the auto-recovery behavior before enabling it, and ensure ~/.openclaw/watchdog/approve-reinstall is only created intentionally.
Setup depends on whatever aiohttp version is available at install time, which can affect reproducibility and supply-chain assurance.
The installer pulls an unpinned Python dependency during setup.
"$VENV_DIR/bin/pip" install --quiet aiohttp
Prefer pinned dependency versions or review the package source before installation.
Telegram will receive the alert messages and the bot token can control that Telegram bot.
Alerts are sent through Telegram using the user's bot token and chat ID, which is expected for this skill but still sends alert content to an external provider.
url = f"https://api.telegram.org/bot{token}/sendMessage" ... "chat_id": chat_id, "text": textUse a dedicated Telegram bot for this watchdog, avoid putting secrets in alert messages, and revoke the token if it may have been exposed.