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 skill mostly matches its self-healing purpose, but its unattended failover script can evaluate local state/config values as code, making background use risky.
Treat this as a Review item before installing. The watchdog's automatic launchd service, gateway restarts, and model config changes are expected for its purpose, but the current failover script should be fixed to avoid `eval` and unescaped model/state interpolation before unattended use.
VirusTotal findings are pending for this skill version.
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 the local watchdog state or OpenClaw config contains a malicious or malformed model value, the unattended failover path could run commands or Python code as the user.
The script converts JSON state values into shell assignments with `eval` and later inserts the selected model directly into Python source. Those values come from persistent watchdog state and OpenClaw config rather than fixed constants.
STATE_FILE="$WATCHDOG_DIR/watchdog-state.json"; eval "$(python3 -c ... print(f'CURRENT_MODEL=\"{d.get(...)}\"') ...)"; ... d['agents']['defaults']['model']['primary'] = '$NEXT_MODEL'Do not use this version unattended until `eval` and unescaped code interpolation are removed. Parse JSON without eval, pass values to Python via arguments/stdin, and validate model identifiers.
The skill can change which model OpenClaw uses and restart the gateway without asking again after installation.
The failover script automatically changes the default OpenClaw model and restarts the gateway. This is central to the stated watchdog purpose, but it is a high-impact mutation.
d['agents']['defaults']['model']['primary'] = '$NEXT_MODEL' ... openclaw gateway restart >> "$LOG_FILE" 2>&1 &
Install only if you want automatic recovery behavior; test with `DRY_RUN=1`, keep backups, and monitor the watchdog log after enabling it.
Once installed, the watchdog keeps running in the background and can continue restarting OpenClaw or changing model config until disabled or uninstalled.
Setup creates and loads a launchd agent that runs the watchdog every 60 seconds. The persistence is disclosed and purpose-aligned, but it continues operating after installation.
cat > "$LAUNCHD_PLIST" << PLISTEOF ... <key>StartInterval</key> <integer>60</integer> ... launchctl load "$LAUNCHD_PLIST"
Review the launchd plist before installing, and use the documented unload or `setup.sh --uninstall` path if you no longer want the background service.
Users may not realize from the metadata alone that installation depends on local system tools and creates launchd persistence.
The registry metadata does not declare the shell-based setup path or the local tools needed by the provided scripts, even though installation creates a persistent service.
Source: unknown; Homepage: none; Required binaries ... none; No install spec — this is an instruction-only skill.
Review the included scripts before running setup; the publisher should declare required binaries, OS support, and persistence behavior in metadata/install specs.