T06 · System Persistence
- Location
- SKILL.md:296
- Finding
- Persistent Autonomous Execution Through Scheduled Tasks## Vulnerability Details **File Location**: `SKILL.md`, lines 296-300 **Vulnerability Type**: Cross-session scheduled-task persistence **Risk Level**: Critical **Complete vulnerable snippet**: ```bash openclaw cron add "*/5 * * * *" "auto-evolver inner-loop" openclaw cron add "*/15 * * * *" "auto-evolver outer-loop" ``` The persistence is corroborated by `STATE.md`, lines 12-13, which reports that the inner loop runs every five minutes and the outer loop runs every fifteen minutes. ### Technical Analysis The documented startup procedure installs two recurring cron jobs. These jobs survive the originating invocation and repeatedly run autonomous workflows. The project does not specify an expiration time, an execution-count limit, an uninstall procedure, a concurrency guard, or an approval requirement for each scheduled execution. The inner loop is instructed to inspect state, generate repair tasks, write logs, and potentially modify hooks. The outer loop is instructed to use browser and publishing tools for external account activity. Scheduling both loops therefore grants continued execution beyond the scope of a single user-authorized skill run. ### Attack Path 1. A user follows the startup instructions in `SKILL.md`. 2. The two `openclaw cron add` commands register recurring jobs. 3. The inner loop executes every five minutes and the outer loop executes every fifteen minutes. 4. Subsequent executions occur without fresh per-run approval. 5. The workflows repeatedly read state, create or modify files, generate tasks, invoke tools, and potentially perform external account actions. 6. Execution continues across sessions until the scheduled tasks are separately discovered and removed. ### Impact Assessment Successful exploitation provides persistent access to the capabilities available to the scheduled OpenClaw process. Depending on the runtime permissions, this can include repeated filesystem writes, access to A ...[truncated 280 chars]
- Remediation
- ## Remediation Suggestions - Remove automatic cron installation from the normal startup procedure. - Require explicit user approval before creating any scheduled task. - Prefer one-time, user-triggered runs instead of recurring unattended execution. - If scheduling is necessary, enforce an expiration time, maximum execution count, minimum interval, and concurrency lock. - Require fresh approval before browser, publishing, messaging, hook-writing, or other externally consequential operations. - Run scheduled tasks under a dedicated least-privileged account with a restricted filesystem and tool allowlist. - Provide exact commands for listing, disabling, and removing every installed scheduled task. - Record the task identifier, creation time, creator, permitted actions, and expiration in an auditable registry. - Default all scheduled external actions to dry-run mode.
