Back to skill
Skillv1.0.7
ClawScan security
Openclaw Auto Recovery · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
ReviewApr 7, 2026, 6:06 AM
- Verdict
- Review
- Confidence
- high
- Model
- gpt-5-mini
- Summary
- The skill's scripts implement the claimed heartbeat/auto-recovery functionality, but the package metadata omits required binaries and credentials and the runtime will read/overwrite local configuration and restart other services — these mismatches merit caution before installing.
- Guidance
- Before installing: (1) Review the scripts line-by-line — they will read and overwrite ~/.openclaw/openclaw.json and write config/backup files under your home directory. (2) Understand required dependencies that are not declared: Node (and an openclaw ws module path), curl, md5sum, vmstat, systemctl. Ensure these exist and are trusted. (3) Provide only minimal credentials: Feishu app secret and gateway token are stored in ~/.config/infra-heartbeat/config.env (chmod 600) and used to obtain tenant tokens and send messages — treat them as sensitive. (4) Test in a safe environment first: the install will create a systemd user service that restarts automatically and can restart the openclaw-gateway service; confirm you are comfortable with that behavior. (5) If you do not trust the source (unknown homepage, no owner transparency), avoid installing or run inside an isolated VM/container. (6) If you want this skill, request that the publisher update registry metadata to explicitly list required env vars and binaries so the requirements match runtime behavior.
Review Dimensions
- Purpose & Capability
- concernThe skill's stated purpose (heartbeat + auto-recovery + Feishu alerts) aligns with the scripts' behavior, but the registry metadata declares no required env vars or binaries while the scripts clearly need FEISHU_APP_ID/FEISHU_APP_SECRET/GATEWAY_TOKEN/TARGET_OPEN_ID, Node (and an 'openclaw' npm module ws), and common CLI tools (curl, md5sum, vmstat, systemctl). The omission of these requirements in metadata is an incoherence.
- Instruction Scope
- concernThe runtime instructions and scripts read and modify user files (e.g., ~/.openclaw/openclaw.json, ~/.config/infra-heartbeat/config.env), create backups, copy/overwrite configuration (last-good.*), and call systemctl --user to restart both the heartbeat service and the openclaw-gateway service. They also call external endpoints (Feishu API) and open a local WebSocket to verify gateway. These actions are consistent with the described purpose but involve access to sensitive local config and the ability to change other services — the SKILL.md/metadata do not highlight these scopes fully.
- Install Mechanism
- noteThere is no external download/install spec (low supply-chain risk), but the skill includes install/uninstall scripts that will write a user systemd unit and configuration files into the user's home (~/.config/systemd/user, ~/.config/infra-heartbeat). The install assumes a locally-installed Node runtime and an 'openclaw' npm module in the user's global npm path; these dependencies are not declared in metadata.
- Credentials
- concernAlthough registry metadata lists no required env vars, the design requires FEISHU_APP_ID, FEISHU_APP_SECRET, GATEWAY_TOKEN, TARGET_OPEN_ID and will read the OpenClaw gateway secret from ~/.openclaw/openclaw.json. The scripts persist secrets into a config file (chmod 600) and use them to fetch Feishu tenant tokens and send messages. Requesting and storing these credentials is proportionate to sending alerts, but the fact they are undeclared in metadata is a mismatch and increases surprise/risk.
- Persistence & Privilege
- noteThe skill installs a user-level systemd service (Restart=always) so it will run persistently under the user account. It does not set always:true in the registry, but it will autonomously restart and also invoke systemctl to restart the 'openclaw-gateway' service. Persisting as a user service and restarting another service is functionally required for auto-recovery, but users should be aware it modifies other services and will run continuously.
