T06 · System Persistence
Error
- Location
- clawhub.json:11
- Finding
- Persistent Scheduled Execution of Automated Live Trades<![CDATA[ ## Vulnerability Details **File Location**: `clawhub.json:11-15`; `SKILL.md:81-95` **Vulnerability Type**: Persistent scheduled task with live financial authority **Risk Level**: High ### Vulnerable Code `clawhub.json:11-15`: ```json "cron": "*/5 * * * *", "automaton": { "managed": true, "entrypoint": "polymarket-simmer-fastloop.py" } ``` `SKILL.md:81-95`: ```bash openclaw cron add \ --name "Simmer FastLoop" \ --cron "*/5 * * * *" \ --tz "UTC" \ --session isolated \ --message "Run: cd /path/to/skill && python polymarket-simmer-fastloop.py --live --quiet. Show output summary." \ --announce ``` ```text */5 * * * * cd /path/to/skill && python polymarket-simmer-fastloop.py --live --quiet ``` ### Technical Analysis The Skill declares managed cron execution every five minutes and documents installation of a cross-session scheduled task that explicitly invokes the trader with `--live`. When `TRADING_VENUE` is configured for Polymarket and suitable wallet credentials are available to the SDK, this grants the scheduled process recurring authority to submit real financial trades. Periodic execution is related to the declared fast-market trading functionality, but persistent live trading is not necessary for a one-shot invocation. It exceeds the safer minimum privilege because execution continues after the initiating session has ended and no longer requires contemporaneous user approval. The script includes daily and per-position limits, but these are application-level controls stored in mutable configuration and local state. They do not eliminate the persistence risk or guarantee that a compromised dependency, modified configuration, duplicate scheduler, or implementation defect cannot misuse the process's trading authority. ### Attack Path 1. A user follows the documented cron setup, or the platform processes the `cron` and managed automaton metadata. 2. A scheduled task is registered to execute the Skill every five minutes. 3. The ...[truncated 1003 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the automatic `cron` field and managed recurring-execution metadata from the default package. 2. Replace the documented `--live` cron examples with paper-mode examples. 3. Require a separate, explicit opt-in setting before scheduled live trading can be enabled. 4. Require interactive confirmation or a short-lived authorization token for each live execution. 5. Use narrowly scoped trading credentials with strict venue-side daily, per-order, and aggregate exposure limits. 6. Ensure scheduled jobs run in a restricted environment containing only the credentials required for the selected venue. 7. Document exact commands for listing, disabling, and deleting installed cron jobs. 8. Add a kill switch and expiration time so scheduled live trading automatically stops after a user-defined period. 9. Prevent overlapping scheduled runs by using an execution lock. 10. Record tamper-evident audit logs and notify the user whenever a live order is submitted. ]]>
