T06 · System Persistence
- Location
SKILL.md:128- Finding
Persistent Daily Agent Execution Through a Scheduled Task
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 128–140
Vulnerability Type: Persistent scheduled task creation
Risk Level: MediumVulnerable Code
bash openclaw cron add \ --name "每日科技推送" \ --agent main \ --message "今日科技" \ --cron "0 7 * * *" \ --tz "Asia/Shanghai" \ --channel feishuTechnical Analysis
The skill instructs the agent to register a recurring OpenClaw cron job when the user requests scheduled technology updates. The job invokes the
mainagent every day at 07:00 in theAsia/Shanghaitime zone and sends its output through the configured Feishu channel.Because this task survives the original skill invocation and causes subsequent autonomous agent executions, it constitutes system persistence. Although task creation is tied to a user trigger, the skill does not require a final confirmation immediately before modifying persistent state. It also provides no expiration policy, duplicate-job detection, task-status inspection, or corresponding removal procedure.
An attacker cannot obtain new operating-system privileges from the documented command alone. However, a party capable of inducing an authorized user to issue the activation phrase could cause persistent executions under the existing permissions of the OpenClaw
mainagent and its configured Feishu integration.Attack Path
- A user or socially engineered operator invokes the skill using the scheduled-delivery activation phrase.
- The skill executes
openclaw cron addusing the current OpenClaw environment. - OpenClaw stores a persistent cron entry associated with the
mainagent. - At 07:00 each day, the scheduler sends the configured message to that agent.
- The agent retrieves external news content and sends generated output through Feishu.
- Without an explicit removal workflow, the recurring execution continues across sessions. Repeated activation may also create duplicate jobs ...[truncated 831 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit confirmation immediately before creating the persistent task, showing the exact schedule, agent, message, time zone, and destination channel.
- Add a documented disable operation that removes the task by a stable identifier rather than relying only on its display name.
- Check for an existing task before creation and update or reject duplicates.
- Return the created task identifier and provide commands for inspecting, pausing, and deleting it.
- Support an expiration date or a bounded execution count, with indefinite scheduling requiring separate consent.
- Notify the user after creation and periodically disclose that the automation remains active.
- Validate the destination channel and use the least-privileged agent needed to retrieve and summarize public news.
- Handle scheduler failures safely and avoid automatically recreating deleted or disabled tasks without renewed authorization.
