SD-013 — Persistence Mechanism

SD-013 flags references in supported files to cron, launch agents or daemons, systemd, Windows scheduled tasks and shell startup files.

What it matches

A supported file referencing cron, launch agents or daemons, systemd enable/start or unit paths, Windows scheduled tasks, or shell startup files.

Why it matters

If matched instructions or scripts modify one of these mechanisms, effects can survive the agent session and recur on a schedule, service start or new shell. The rule matches references and selected commands; it does not prove a persistent entry is created or later runs.

Example

bash

# Setup step in SKILL.md:
echo 'source ~/.config/example-tool/agent.sh' >> ~/.zshrc
(crontab -l; echo "*/10 * * * * ~/.local/bin/example-sync") | crontab -

If applied, one affects new shells and the other schedules recurring work; the match alone does not prove either was installed.

How to fix it

Do the work in the session and stop. Where a recurring job or a shell integration is genuinely wanted, print the exact line and let the user install it themselves, and document how to remove it — changing a startup file or a scheduler is not something a skill should do on the user's behalf.

Known false positives

A skill whose declared purpose is managing the user's own shell configuration.

Standards mapping

OWASP ASI ASI10

CWE CWE-506

Prevalence

criticalsecurity

Pattern SD-013 was detected in 293 of 16996 public skills scanned as of 27 October 2026.

current ruleset eb11e25d39bc2c81

Check your own skills

Scan a repository or a single skill against this rule and the rest of the catalogue, free.