T06 · System Persistence
Error
- Location
- SKILL.md:20
- Finding
- Persistent Unattended Update Jobs<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 20-29 **Vulnerability Type**: `T06: System Persistence` **Risk Level**: High ### Vulnerable Code ```bash openclaw cron add \ --name "OpenClaw Auto-Update" \ --cron "30 3 * * *" \ --tz "Europe/Berlin" \ --session isolated \ --wake now \ --deliver \ --message "Run daily auto-updates: 1) openclaw update --yes --json 2) clawdhub update --all 3) report versions updated + errors." ``` Additional persistent scheduling instructions appear in `SKILL.md`, lines 34-43, and `references/agent-guide.md`, lines 74-84. ### Technical Analysis The Skill instructs the Agent to register a recurring cron task that survives the current session and automatically performs software-changing operations. The task updates both the OpenClaw core and every installed Skill without requiring approval for each execution. Although scheduling automatic updates is the stated purpose of the Skill, this still creates a cross-session persistence mechanism. The use of `--yes` removes interactive confirmation for core updates, while `clawdhub update --all` permits every installed Skill to be changed. An isolated session limits session-state interaction but does not remove the persistence or software supply-chain exposure. ### Attack Path 1. A user asks the Agent to configure automatic updates. 2. The Agent executes the documented `openclaw cron add` command. 3. A persistent scheduled task is registered under the invoking user's account. 4. The task runs unattended at the configured time. 5. A compromised or malicious OpenClaw or Skill release is accepted by the automatic updater. 6. The updated component subsequently executes with the permissions available to the scheduled task owner. 7. Future scheduled executions can continue applying updates, preserving the compromise across sessions. ### Impact Assessment A successful supply-chain compromise can replace OpenClaw core components or installed Skills availa ...[truncated 550 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Default scheduled jobs to update-status checks rather than installation. 2. Require explicit user approval before applying each core or Skill update. 3. Separate update discovery, review, staging, and deployment into distinct steps. 4. Pin approved versions and verify package signatures, provenance, and integrity hashes. 5. Replace `clawdhub update --all` with an explicit allowlist of reviewed Skills. 6. Run updates in a restricted sandbox or low-privilege service account. 7. Provide clear commands for listing, disabling, and removing the scheduled task. 8. Implement tested rollback procedures and retain the previously approved versions. 9. Alert the user before gateway restarts or other service-affecting changes. ]]>
