T06 · System Persistence
- Location
README.md:309- Finding
Persistent Unattended Agent Execution Through Heartbeats and Scheduled Jobs
- Content
View full analysis
Vulnerability Details
File Location:
README.md:187-202,README.md:309-344; summarized inSKILL.md:18-21
Vulnerability Type: Persistent scheduled autonomous execution
Risk Level: HighVulnerable Code
README.md:187-202:json5 ### 3. Configure continuous operation Set heartbeat to run frequently: { agents: { defaults: { heartbeat: { every: "15m", // More frequent = more work done target: "last", activeHours: { start: "06:00", end: "23:00" } } } } }README.md:309-344:bash ## Cron Jobs for Autonomy Set up automated reporting and work triggers: ### Daily Progress Report (10 PM) openclaw cron add \ --name "Daily Progress Report" \ --cron "0 22 * * *" \ --tz "America/Vancouver" \ --session isolated \ --message "Generate daily progress report. Read tasks/QUEUE.md for completed tasks. Summarize: completed, in progress, blockers, tomorrow's plan." ### Morning Kickoff (7 AM) openclaw cron add \ --name "Morning Kickoff" \ --cron "0 7 * * *" \ --tz "America/Vancouver" \ --session main \ --system-event "Morning kickoff: Review task queue, pick top priorities, spawn team members for parallel work." \ --wake now ### Overnight Work Check (3 AM) openclaw cron add \ --name "Overnight Work" \ --cron "0 3 * * *" \ --tz "America/Vancouver" \ --session isolated \ --message "Overnight work session. Pull tasks from queue that don't need human input. Do research, writing, or analysis. Log progress." These run automatically — no human prompt needed.Technical Analysis
The installation instructions establish recurring, cross-session execution through frequent heartbeats and three scheduled jobs. The morning job explicitly wakes the agent and directs it to spawn additional agents, while the overnight job initiates open-ended research, writing, or analys ...[truncated 1838 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove cron installation and recurring heartbeat configuration from the default setup path.
- Require explicit, informed approval for each scheduled job, including its schedule, session type, tools, data sources, and expected outputs.
- Replace open-ended prompts such as “do research, writing, or analysis” with narrowly scoped, deterministic, and preferably read-only operations.
- Disable agent spawning, outbound messaging, destructive file operations, and access to secrets for unattended sessions by default.
- Enforce limits on runtime, token usage, number of tasks, spawned agents, network requests, and file modifications per activation.
- Require interactive approval before any privileged, destructive, external, or financially consequential operation.
- Record an immutable audit log of scheduler activations, queue items selected, tools invoked, files changed, messages sent, and resources consumed.
- Provide commands to list, disable, and completely remove every installed heartbeat or cron configuration.
- Include an emergency stop mechanism that prevents new sessions and terminates active autonomous work.
