T06 · System Persistence
- Location
SKILL.md:25- Finding
Persistent Daily Update Task Enables Unattended Cross-Session Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:25-33
Additional Location:references/agent-guide.md:72-96
Vulnerability Type: System Persistence
Risk Level: HighThe skill directs the agent to install a scheduled task that survives the current session and autonomously performs future software updates.
bash clawdbot cron add \ --name "Daily Auto-Update" \ --cron "0 4 * * *" \ --tz "America/Los_Angeles" \ --session isolated \ --wake now \ --deliver \ --message "Run daily auto-updates: check for Clawdbot updates and update all skills. Report what was updated."Technical Analysis
The
clawdbot cron addcommand creates a persistent daily task. The task runs in an isolated session, wakes the agent, and instructs it to update both Clawdbot and installed skills. Its effects therefore extend beyond the skill's initial invocation and the user's current session.Although persistence is consistent with the advertised auto-update purpose, it creates a durable code-execution mechanism. The scheduled task repeatedly performs security-sensitive package-management operations without requiring approval for each execution. The more detailed task in
references/agent-guide.md:72-96also instructs the scheduled agent to run package updates andclawdbot doctor --yes.Attack Path
- A user asks the agent to configure automatic updates.
- The agent executes the documented
clawdbot cron addcommand. - The cron definition remains installed after the original interaction ends.
- At the configured time, Clawdbot wakes an isolated session.
- The session follows the persistent message and invokes core and skill update commands.
- Any malicious or compromised update available at that time is installed with the permissions of the account running the Gateway or cron task.
- The process repeats daily until the task is explicitly removed or cron is disabled.
Impact As
...[truncated 649 chars]
- Remediation
View remediation
Remediation Suggestions
- Default to a non-persistent, check-only workflow such as
clawdhub update --all --dry-run. - Require a separate, explicit confirmation before creating any scheduled task.
- Display the exact schedule, commands, execution identity, affected directories, and removal command before installation.
- Separate update discovery from update installation. The scheduled task should only report available versions; installation should require user approval.
- Run update checks under a dedicated least-privileged account with no unnecessary access to credentials, user files, or unrelated agent tools.
- Provide automatic expiration or require periodic renewal of the scheduled task.
- Record an auditable task identifier and verify that
clawdbot cron remove "Daily Auto-Update"fully removes the persistent configuration. - Do not combine scheduling with automatic migration approval such as
clawdbot doctor --yes; migrations should be reviewed and approved separately.
- Default to a non-persistent, check-only workflow such as
