T06 · System Persistence
Error
- Location
- SKILL.md:134
- Finding
- Unbounded Persistent Cron Task for Post-Status Monitoring## Vulnerability Details **File Location**: `SKILL.md`, line 134 **Vulnerability Type**: `T06: System Persistence` **Risk Level**: High ### Vulnerable Code Snippet ```markdown 5. Set cron to check post status 5 mins after scheduled time ``` ### Technical Analysis The skill directs the agent to create a cron task as part of its daily workflow. A cron entry is persistent operating-system state that can survive the initiating process and agent session. The instruction does not specify: - The exact command or executable to be invoked - The scope and lifetime of the scheduled task - Automatic removal after the status check - Duplicate-entry prevention - Restrictions on inherited credentials or environment variables - Explicit user approval before modifying the user's crontab Because the scheduled command is unspecified, an implementing agent may construct a persistent task from contextual or externally influenced values. The task could continue executing after the original marketing operation has ended. No privilege-escalation mechanism is shown; execution would normally occur with the privileges of the user whose crontab is modified. ### Attack Path 1. The agent loads the skill and follows the documented daily workflow. 2. A post is scheduled through the declared Post Bridge workflow. 3. The agent interprets line 134 as authorization to modify the local user's crontab. 4. It creates a cron entry that invokes an unspecified post-status checking command. 5. The entry remains installed after the current agent task or session ends. 6. Cron subsequently executes the command under the affected user's account. 7. Without one-shot cleanup or duplicate prevention, the command may continue running or additional entries may accumulate. The project does not contain a concrete malicious cron payload, so exploitation depends on how the agent implements the underspecified instruction. The confirmed issue is the explicit direction to establish persistent scheduled execut ...[truncated 944 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the instruction to modify cron and perform the status check within the active agent workflow. 2. Prefer Post Bridge status APIs, platform callbacks, or an application-owned task queue with explicit lifecycle management. 3. If delayed local execution is essential, require explicit user confirmation before creating any scheduled task. 4. Use a narrowly scoped one-shot scheduler rather than a recurring cron entry. 5. Define the exact executable, arguments, working directory, and expected network destination; do not construct commands from untrusted captions, filenames, post metadata, or API responses. 6. Automatically delete the scheduled task immediately after successful execution or after a defined timeout. 7. Add idempotency and duplicate-entry checks. 8. Run with the minimum required user privileges and a restricted environment. 9. Do not place API keys in command-line arguments or cron definitions. Load credentials from a permission-restricted secret store at execution time. 10. Record task creation and removal so the user can verify that no persistent entry remains.
