T06 · System Persistence
Error
- Location
- SKILL.md:103
- Finding
- Autonomous Cross-Session Scheduling Creates System Persistence<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:103` and `SKILL.md:291-310` **Vulnerability Type**: Unauthorized creation or modification of recurring scheduled execution **Risk Level**: Critical ### Vulnerable Code Snippet ```markdown **Agent Execution Schedule:** The agent shouldn't just run at a random time. It should read `learnings.json`, look at the `bestTimes` array, and **automatically adjust its own cron/automation schedule** so that tomorrow's execution happens right at the optimal publishing time. ``` The daily workflow reinforces this instruction: ```bash # STEP 0: Learn from previous posts (skip on first run) UPLOADPOST_TOKEN="..." UPLOADPOST_USER="myuser" bash {baseDir}/scripts/check-analytics.sh 7 node {baseDir}/scripts/learn-from-analytics.js # → Agent reads learnings.json and picks the best hook style # → CRITICAL: Agent checks bestTimes and schedules ITS OWN NEXT EXECUTION for that exact hour tomorrow # STEP 1: Research business node {baseDir}/scripts/analyze-web.js https://my-product.com # STEP 2: Generate slides (using insights from learnings) GEMINI_API_KEY="..." bash {baseDir}/scripts/generate-slides.sh # STEP 3: Review with vision → auto-fix broken slides # Agent checks each slide, regenerates any that fail # STEP 4: Publish UPLOADPOST_TOKEN="..." UPLOADPOST_USER="myuser" bash {baseDir}/scripts/publish-carousel.sh ``` ### Technical Analysis The Skill explicitly directs the Agent to modify its cron or automation schedule so the workflow executes again in future sessions. This is not merely a recommendation that the user configure an external scheduler; it instructs the Agent to alter a persistent execution mechanism itself. The package does not provide: - A bounded scheduler installation procedure. - A required user-confirmation step. - A mechanism for inspecting the resulting scheduled task. - An expiration date or maximum execution count. - Documented disable and removal procedures. - Isolation or reduced privi ...[truncated 1377 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all instructions directing the Agent to modify its own cron, startup, or automation configuration. 2. Make scheduling an optional, user-managed deployment step outside the normal Skill workflow. 3. Require explicit confirmation before creating any scheduled task, displaying: - The exact command. - Execution frequency. - Credential requirements. - Output and log locations. - Expiration or maximum run count. 4. Provide documented inspection, disable, and removal commands. 5. Use a dedicated least-privileged service account and narrowly scoped API credentials for scheduled execution. 6. Require confirmation before every public publication, even when content generation is scheduled. 7. Prefer generating a sample scheduler configuration for user review rather than installing or modifying it automatically. ]]>
