T06 · System Persistence
Error
- Location
- SKILL.md:100
- Finding
- Persistent Scheduled Agent Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:100-104` **Additional Location**: `README.md:27-32` **Vulnerability Type**: `T06: System Persistence` **Risk Level**: High ### Vulnerable Code ```bash openclaw cron add --name "clawvicular-daily" \ --cron "0 10 * * *" --tz "America/Los_Angeles" \ --session isolated \ --message "Run the /clawvicular skill: generate today's looksmaxxing tip and Clavicular news." \ --announce --channel telegram --to "<channel-id>" ``` ### Technical Analysis The documented command registers a recurring OpenClaw cron task that survives the initial skill run and invokes the agent every day. Each scheduled invocation can conduct web searches, modify local state and source files, generate content, and publish that content to an external messaging channel. This constitutes system persistence because execution continues across sessions until the cron entry is explicitly removed. The behavior is openly documented and requires the user to run the setup command; the audit found no evidence of covert installation or an undisclosed backdoor. Nevertheless, the scheduled job creates an unattended execution path with network, filesystem, and external-publication effects. The use of an isolated session limits session-level carryover but does not eliminate the persistence itself or the risks associated with processing changing web content without interactive review. ### Attack Path 1. A user follows the installation instructions and runs the supplied `openclaw cron add` command. 2. OpenClaw registers the `clawvicular-daily` recurring task. 3. At 10:00 AM Pacific Time each day, the task starts an isolated agent session without requiring fresh user approval. 4. The skill performs web searches against external, dynamically changing content. 5. It updates local state and the persistent source archive. 6. It publishes generated output to the configured Telegram or other messaging destination. 7. This process repeats until ...[truncated 963 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Make cron registration explicitly optional and separate it from normal skill installation. 2. Display a clear confirmation explaining the schedule, network activity, filesystem writes, publication destination, and removal procedure before registration. 3. Require explicit approval before externally publishing each generated post, or place generated content in a review queue. 4. Restrict web research to an allowlist of trusted domains and treat all retrieved material as untrusted data rather than agent instructions. 5. Run scheduled sessions with least-privilege filesystem and network permissions. 6. Restrict write access to the specific state and source files required by the workflow. 7. Validate the destination channel identifier and show the resolved destination before enabling announcements. 8. Add an expiration time, maximum-run count, or automatic disablement after repeated failures. 9. Log every scheduled invocation, network source, file modification, and publication action. 10. Provide the removal command next to the installation command: ```bash openclaw cron remove --name "clawvicular-daily" ``` 11. Offer a safer manual invocation mode as the default configuration. ]]>
