T06 · System Persistence
- Location
SKILL.md:59- Finding
Persistent Scheduled Execution Through Cron
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 59–64
Vulnerability Type:T06: System Persistence
Risk Level: MediumVulnerable Code:
bash ## Cron ```bash # Daily at 7 AM 0 7 * * * cd /path/to/inbox-triage-bot && EMAIL_BACKEND=himalaya npm run demo >> ~/inbox-triage.md 2>&1text ### Technical Analysis The Skill instructs the user to configure a cron entry that executes `npm run demo` every day. This creates cross-session persistence and causes the project and its dependencies to run automatically without renewed user approval. Persistent scheduling is not necessary for the declared core functionality of performing email triage on demand. Because the command operates from a mutable project directory and does not verify the integrity of the application or its dependencies before each run, subsequent modification of project files or installed npm packages would affect every scheduled execution. The scheduled process also appends email-triage output and errors to the predictable `~/inbox-triage.md` file. Since the Skill processes email and potentially calendar information, that digest may contain sensitive personal or business data. The instructions do not specify restrictive file permissions, retention controls, integrity verification, or a removal procedure for the scheduled task. The documentation alone does not install the cron entry automatically; exploitation requires the user to follow the provided scheduling instruction. ### Attack Path 1. The user installs the email-triage project and follows the cron configuration shown in `SKILL.md`. 2. The cron service begins invoking `npm run demo` daily under the user's account. 3. The scheduled process accesses the user's configured mailbox and potentially calendar information through the documented backends. 4. If the project directory or installed dependencies are later modified or compromised, the altered code ...[truncated 834 chars]- Remediation
View remediation
Remediation Suggestions
- Remove the cron configuration from the default setup and keep email triage explicitly user-initiated.
- If recurring execution is an essential optional feature, require clear, informed opt-in and explain the resulting persistent access to email and calendar data.
- Provide commands to inspect and remove the cron entry.
- Run the scheduled task under a dedicated, least-privileged account with access only to the mailbox, calendar, directories, and files required for triage.
- Pin dependencies with a reviewed lockfile and perform integrity verification before deployment.
- Avoid executing directly from a mutable development directory; use a controlled, versioned installation.
- Store reports in a dedicated directory with restrictive permissions, such as mode
0600, and define retention and secure-deletion policies. - Avoid mixing sensitive report content with unrestricted diagnostic output.
- Document credential scope and recommend restricted OAuth scopes or application-specific credentials rather than broadly privileged account credentials.
