T06 · System Persistence
- Location
modules/pre-departure.md:35- Finding
Persistent Cron-Based Reminder and Monitoring Tasks
- Content
View full analysis
Vulnerability Details
File Location:
modules/pre-departure.md:35-44,modules/pre-departure.md:215-233, andmodules/presale.md:57,129-130
Vulnerability Type: Cross-session scheduled-task persistence
Risk Level: HighVulnerable Instruction Snippet
markdown 3. Ask the user whether scheduled reminder tasks should be created. Explicit user consent is required. 4. After the user agrees, create two scheduled tasks: - 20:00 on the day before departure: send an equipment checklist and weather summary. - 07:00 on the departure date: send a final checklist, live weather, and traffic reminder. ### Scenario C: Scheduled reminder execution through cron 1. Read the corresponding trip information. 2. Query live weather. 3. Generate the checklist. 4. Send the result to the user's IM session, if connected, or output it in the conversation.The module also instructs the Agent to delete associated cron tasks when a reminder is cancelled. The presale module separately permits periodic checks through the Agent platform's cron capability.
Technical Analysis
These instructions authorize the creation of scheduled tasks that survive the conversation in which the Skill was invoked. The tasks subsequently read persistent trip or watchlist data, make external network requests, and potentially send messages through a connected IM channel.
Explicit user consent is required before scheduling, which reduces the risk of covert installation. Nevertheless, the resulting mechanism is system persistence because execution continues across sessions and outside the original interactive request.
This behavior also conflicts with the statement in
SKILL.md:136that the Skill does not create background services, daemons, or scheduled tasks. The contradiction may prevent users and reviewers from accurately understanding the Skill's persistence behavior.No concrete cron command or malicious backdoor payload is em ...[truncated 1661 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove cron creation from the Skill and use user-triggered checks whenever persistent execution is not essential.
- If reminders are required, use a platform-native one-shot reminder API rather than arbitrary cron commands.
- Display the exact execution time, timezone, action, data accessed, network destinations, and expiry before requesting consent.
- Restrict scheduled jobs to a fixed, audited handler rather than allowing the Agent to construct arbitrary shell commands.
- Assign every job a visible identifier and store only the minimum data required to execute it.
- Automatically expire reminder jobs after their scheduled execution and monitoring jobs after a short, predefined period.
- Verify cancellation by querying the scheduler after deletion, and report any deletion failure to the user.
- Prevent scheduled jobs from accessing unrelated files, credentials, tools, or communication channels.
- Require separate, explicit permission before sending messages to an external IM channel.
- Update
SKILL.mdand the README so that the declared behavior accurately discloses all scheduling and cross-session execution capabilities.
