T06 · System Persistence
- Location
SKILL.md:22- Finding
Persistent Daily Scheduled Task for Automated Skill Updates
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:22-30
Additional Location:README.md:20-27
Vulnerability Type: Persistent scheduled-task installation
Risk Level: CriticalRelevant Code Snippet:
bash openclaw cron add \ --name "Daily auto-update (ClawHub skills)" \ --cron "0 4 * * *" \ --tz "Asia/Shanghai" \ --session isolated \ --wake now \ --deliver \ --channel feishu \ --to "ou_xxxxxxxxxxxx" \Technical Analysis
The Skill instructs the user to create an OpenClaw Gateway cron job that persists beyond the current Skill invocation and runs every day. The
--cron "0 4 * * *"argument establishes recurring execution, while--wake nowgrants the scheduled workflow wake capability. The isolated session limits contamination of the main session but does not eliminate persistence or the permissions available to the scheduled agent.The scheduled workflow is instructed to update all installed ClawHub skills. Consequently, future upstream changes can enter the environment automatically without an interactive approval decision for each update. The documentation discloses the scheduling behavior, but it still creates a durable cross-session execution mechanism.
Attack Path
- A user follows the documented setup procedure.
openclaw cron addcreates a persistent daily scheduled job.- OpenClaw wakes an isolated agent session at the configured time.
- The agent executes the bulk Skill-update workflow using the permissions of the OpenClaw or cron account.
- If a future Skill release or associated publisher account is compromised, the scheduled workflow retrieves and activates the changed Skill content.
- The recurring task remains available for subsequent runs until the user explicitly disables or removes it.
Impact Assessment
The scheduled task obtains recurring execution under the privileges assigned to the OpenClaw Gateway account and its ...[truncated 570 chars]
- Remediation
View remediation
Remediation Suggestions
- Do not create the scheduled task automatically. Present the exact proposed schedule and require explicit, informed user approval before installation.
- Prefer manual update checks or a notification-only scheduled job that reports available versions without installing them.
- Require separate interactive approval before applying each update or approved update batch.
- Run the updater under a dedicated least-privilege account with a restricted filesystem, network policy, environment, and tool allowlist.
- Limit updates to an explicit allowlist of trusted skills rather than all installed skills.
- Record creation, modification, execution, and removal of the scheduled task in an auditable log.
- Provide an expiration date or bounded run count and automatically remove the task when it is no longer required.
- Verify that only the intended administrator can modify the cron job, its prompts, and its delivery configuration.
- Document and verify a removal procedure using
openclaw cron disableandopenclaw cron rm.
