T06 · System Persistence
Error
- Location
- SKILL.md:126
- Finding
- Persistent Daily Cron Job Executes Beyond the Initiating Session## Vulnerability Details **File Location**: `SKILL.md`, lines 126-129 **Vulnerability Type**: T06: System Persistence **Risk Level**: High **Vulnerable Code Snippet**: ```markdown 16. **Daily Revenue Reporting (Cron Job):** * **Action:** Set up a daily cron job that fetches revenue data from Stripe and reports it to the user. * **Tooling:** `exec` (to schedule cron job), `web_browser` (to fetch Stripe data via API or UI), `message` (to send daily report). * **Logging:** Record daily revenue reports in `LAUNCH-LOG.md`. ``` ### Technical Analysis The Skill directs the Agent to modify the host's task scheduler by installing a daily cron job. A scheduled task survives the original Skill invocation and continues executing across sessions. The instructions do not define the generated command, execution identity, credential scope, expiration time, removal process, or integrity controls for the script executed by cron. Because the scheduled process fetches Stripe revenue information and sends reports, it will require continuing access to sensitive financial data and a communication channel. If the scheduled script, its configuration, or a writable dependency is compromised, the cron entry becomes a durable execution mechanism. ### Attack Path 1. The Agent reaches the maintenance phase of the runbook. 2. It creates a reporting script or command with access to Stripe data. 3. It invokes `exec` to install that command in a cron schedule. 4. The cron service executes the command every day after the initiating Agent session has ended. 5. An attacker who can alter the script, configuration, executable search path, or credentials used by the task can obtain recurring code execution or financial-data access. ### Impact Assessment Successful exploitation can provide persistent execution with the privileges of the account that owns the cron entry. The accessible scope can include Stripe revenue data, environment ...[truncated 179 chars]
- Remediation
- ## Remediation Suggestions - Do not install host-level cron entries automatically. - Generate a proposed scheduling configuration for user review and require explicit confirmation immediately before enabling it. - Prefer a project-scoped managed scheduler with a clearly identified owner, execution identity, and expiration policy. - Run the task under a dedicated least-privileged service account. - Use a restricted, read-only Stripe credential that can access only the required reporting information. - Store credentials in an approved secret manager rather than in scripts, cron command lines, source files, or logs. - Use absolute executable and script paths, immutable or access-controlled scripts, and a minimal environment. - Document how to inspect, disable, and remove the scheduled task. - Add expiration, failure notification, execution logging, and credential-rotation procedures.
