T06 · System Persistence
- Location
SKILL.md:57- Finding
Recurring OpenClaw Cron Execution Creates Cross-Session Persistence
- Content
View full analysis
# inspect one job openclaw cron status # scheduler status openclaw cron disable # pause without deleting openclaw cron enable # resume openclaw cron edit --every 10m # change cadence openclaw cron edit --message "…" # change payload openclaw cron rm # delete entirely openclaw cron run # trigger one run (debug) ``` If a user asks to "stop / pause / disable the receipt matcher", run `openclaw cron disable ` (or `rm` if they want it gone). Confirm by re-listing. ``` ### Technical Analysis The Skill declares that it executes on a recurring five-minute OpenClaw cron schedule and provides instructions to enable the job, alter its cadence, replace its payload, and run it immediately. A scheduled job survives the individual Skill invocation and therefore creates a cross-session execution mechanism. Scheduling can be legitimate for continuous receipt reconciliation, but it is not required for the minimum functionality of matching receipts during an explicitly requested run. The capability is particularly sensitive because each scheduled invocation may search all conn ...[truncated 1696 chars]- Remediation
View remediation
--message "…"`. If payload updates are necessary, validate them against an exact approved template. 4. Scope all scheduler operations to a verified job ID and confirm that the existing payload exactly matches the expected receipt-matching task before enabling or running it. 5. Default the job to disabled and provide a manual, one-shot workflow as the least-privilege option. 6. Add an expiration time or maximum execution count so scheduling does not continue indefinitely. 7. After disabling or removing a job, re-list the scheduler state and report the verified result to the user. 8. Do not automatically create, enable, or modify a scheduled job merely because the Skill was loaded. ]]>
