T06 · System Persistence
- Location
SKILL.md:134- Finding
Unbounded Persistent Cron Task for Post-Status Monitoring
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 134
Vulnerability Type:T06: System Persistence
Risk Level: HighVulnerable Code Snippet
markdown 5. Set cron to check post status 5 mins after scheduled timeTechnical 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
- The agent loads the skill and follows the documented daily workflow.
- A post is scheduled through the declared Post Bridge workflow.
- The agent interprets line 134 as authorization to modify the local user's crontab.
- It creates a cron entry that invokes an unspecified post-status checking command.
- The entry remains installed after the current agent task or session ends.
- Cron subsequently executes the command under the affected user's account.
- 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
View remediation
Remediation Suggestions
- Remove the instruction to modify cron and perform the status check within the active agent workflow.
- Prefer Post Bridge status APIs, platform callbacks, or an application-owned task queue with explicit lifecycle management.
- If delayed local execution is essential, require explicit user confirmation before creating any scheduled task.
- Use a narrowly scoped one-shot scheduler rather than a recurring cron entry.
- Define the exact executable, arguments, working directory, and expected network destination; do not construct commands from untrusted captions, filenames, post metadata, or API responses.
- Automatically delete the scheduled task immediately after successful execution or after a defined timeout.
- Add idempotency and duplicate-entry checks.
- Run with the minimum required user privileges and a restricted environment.
- Do not place API keys in command-line arguments or cron definitions. Load credentials from a permission-restricted secret store at execution time.
- Record task creation and removal so the user can verify that no persistent entry remains.
