T06 · System Persistence
Error
- Location
- cron-setup.md:20
- Finding
- Persistent Autonomous Agent Jobs Can Publish Content Without Per-Run Approval<![CDATA[ ## Vulnerability Details **File Location**: `cron-setup.md:20-26`, `cron-setup.md:32-38`, `cron-setup.md:44-50` **Vulnerability Type**: `T06: System Persistence` **Risk Level**: High ### Vulnerable Code ```bash openclaw cron add \ --name "Genviral: Daily Content" \ --cron "0 9 * * *" \ --tz "YOUR_TIMEZONE" \ --session isolated \ --message "Run the Genviral daily content pipeline. Read the genviral SKILL.md, then: 1) Pick a topic from content/scratchpad.md or generate a new one based on performance/insights.md. 2) Generate a slideshow with a strong hook. 3) Render all slides. 4) Review each slide visually. If any slide is below quality, regenerate it. 5) Post to the default account. 6) Log the post in performance/log.json. Use the hooks that have the highest weights in hooks/library.json." \ --announce ``` ```bash openclaw cron add \ --name "Genviral: Performance Check" \ --cron "0 18 * * *" \ --tz "YOUR_TIMEZONE" \ --session isolated \ --message "Run the Genviral performance check. Read the genviral SKILL.md, then: 1) Run analytics-summary to get overall stats. 2) Run analytics-posts to get individual post metrics. 3) Update performance/log.json with latest metrics for posts older than 24h. 4) If any post significantly outperformed or underperformed, note why in performance/insights.md. 5) Report a brief summary of today's content performance." \ --announce ``` ```bash openclaw cron add \ --name "Genviral: Weekly Review" \ --cron "0 10 * * 0" \ --tz "YOUR_TIMEZONE" \ --session isolated \ --message "Run the Genviral weekly review. Read the genviral SKILL.md, then: 1) Analyze all posts from the past 7 days in performance/log.json. 2) Identify top 3 and bottom 3 performers. 3) Update hook weights in hooks/library.json (increase weight for hooks that drove high engagement, decrease for underperformers). 4) Update performance/insights.md with this week's learnings. 5) Generate 5 new content ideas for next week in conten ...[truncated 2053 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Do not present automatic publishing as the default scheduled workflow. 2. Require explicit, informed opt-in separately for each scheduled job. 3. Make scheduled content generation produce drafts only; require interactive approval before publication. 4. Display the exact target accounts, frequency, expected API usage, and files that each task may modify before installation. 5. Add an approval token or queue that a human must confirm before any `create-post` operation. 6. Use narrowly scoped API credentials for scheduled analytics and draft generation. 7. Separate read-only analytics jobs from write-capable publishing jobs. 8. Include explicit removal instructions, such as listing jobs and removing each generated job ID. 9. Add rate limits and a maximum lifetime or expiration date to recurring jobs. 10. Protect mutable prompt and strategy files from untrusted modifications before scheduled sessions load them. ]]>
