T06 · System Persistence
- Location
SKILL.md:115- Finding
Recurring Cross-Session Agent Task Creates System Persistence
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 115-123
Vulnerability Type: Scheduled-task persistence
Risk Level: CriticalVulnerable Code
bash # 每日 08:00 UTC 执行完整流水线 cron add --name "AI科技资讯工厂" \ --schedule "cron:0 8 * * *" \ --sessionTarget isolated \ --payload '{"kind":"agentTurn","message":"执行 ai-tech-news-factory 完整流水线,保存到 /root/articles/{date}/"}'Technical Analysis
The documented command registers a recurring cron task that survives the current Skill invocation and starts a new isolated Agent session every day. The scheduled payload executes the complete workflow rather than merely generating a reminder.
The workflow includes remote content retrieval, filesystem writes, image and article generation, and potentially authenticated publication to Xiaohongshu. Consequently, running the documented setup command changes persistent system state and allows later activity without a new explicit invocation from the user. The recurring schedule is also represented in
workflow.jsonat lines 124-132.The project does not include the implementations of the invoked Skills, so the behavior and permission boundaries of each scheduled downstream component cannot be verified within this audit.
Attack Path
- A user follows the scheduling instructions in
SKILL.md. - The
cron addcommand creates a persistent daily task. - At 08:00 UTC, the scheduler starts an isolated Agent session without a fresh user request.
- The Agent executes the full
ai-tech-news-factorypipeline. - Downstream Skills retrieve external content, write under
/root/articles/{date}/, and may use configured authenticated sessions to publish content. - The process repeats every day until the cron entry is explicitly removed.
Impact Assessment
The scheduled task obtains the effective privileges granted to the OpenClaw scheduler and the downstream Skills. Its scope can include:
- Recurring filesystem writes under
/root/articles/.
...[truncated 416 chars]
- A user follows the scheduling instructions in
- Remediation
View remediation
Remediation Suggestions
- Remove automatic or copy-and-run cron registration from the primary usage instructions.
- Require explicit user invocation for every complete pipeline run.
- If scheduling is necessary, require a separate, informed opt-in confirmation that clearly lists the recurring network, filesystem, and publication actions.
- Separate content generation from publication. Require human approval immediately before every external post.
- Run the scheduled process under a dedicated least-privilege account with narrowly scoped filesystem and network permissions.
- Use restricted publishing credentials that cannot access unrelated account functions.
- Add execution limits, failure thresholds, audit logs, and notifications for every scheduled run.
- Document commands for listing, disabling, and permanently removing the cron entry.
- Expire schedules automatically after a short defined period unless the user explicitly renews them.
