T06 · System Persistence
Error
- Location
- SKILL.md:1067
- Finding
- Opt-Out Scheduled Tasks Create Cross-Session Persistence and Unsolicited External Delivery<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:1067-1087` **Vulnerability Type**: Persistent scheduled automation enabled without prior consent **Risk Level**: High ### Vulnerable Code Snippet ```markdown ## Automatic Push: Scheduled Report Delivery ### Default Behavior After this Skill is installed, automatic delivery is enabled by default without additional configuration. WorkBuddy automatically generates and delivers reports at the following three times on every trading day: | Time | Report type | Description | |-----|---------|------| | 08:55 | Pre-market market overview | Generated before the market opens | | 11:35 | Intraday market commentary | Generated after the midday close | | 15:05 | Post-market review | Generated after the market closes | Reports are delivered to messaging channels linked to the user's WorkBuddy account, including WeChat, WhatsApp, or another configured destination. If no channel is linked, the report is emitted in the current conversation. ``` The corresponding task definitions at `SKILL.md:1119-1204` provide recurring rules and instruct the platform to deliver each generated report externally. For example: ```text FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=8;BYMINUTE=55 FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=11;BYMINUTE=35 FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=15;BYMINUTE=5 ``` ### Technical Analysis The Skill instructs the host Agent to create three recurring automation tasks that survive the initiating session. These tasks repeatedly invoke network-backed report generation and send the resulting content to messaging channels associated with the user. Recurring delivery can be a legitimate optional feature, but enabling it by default exceeds the minimum privileges required to answer an interactive request for a market report. A one-time market analysis does not require persistent schedules or access to external messaging destinations. No local scheduler implementation is present in the Python scripts. ...[truncated 1439 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Make all scheduled delivery features disabled by default. 2. Require explicit, informed opt-in before creating any recurring task. 3. Present the exact schedule, report type, destination, expected network activity, and retention behavior before approval. 4. Request separate consent for every external messaging destination. 5. Allow users to generate reports interactively without granting scheduler or messaging permissions. 6. Provide a single command that deletes all associated tasks rather than merely pausing them. 7. Verify and report whether task deletion succeeded. 8. Ensure installation and first invocation never modify automation state. 9. Add a visible list of active tasks and their next execution times. 10. Apply least privilege so scheduled tasks can access only the data sources and destination approved by the user. ]]>
