T06 · System Persistence
Error
- Location
- README.md:309
- Finding
- Persistent Unattended Agent Execution Through Heartbeats and Scheduled Jobs## Vulnerability Details **File Location**: `README.md:187-202`, `README.md:309-344`; summarized in `SKILL.md:18-21` **Vulnerability Type**: Persistent scheduled autonomous execution **Risk Level**: High ### Vulnerable 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
- ## Remediation Suggestions 1. Remove cron installation and recurring heartbeat configuration from the default setup path. 2. Require explicit, informed approval for each scheduled job, including its schedule, session type, tools, data sources, and expected outputs. 3. Replace open-ended prompts such as “do research, writing, or analysis” with narrowly scoped, deterministic, and preferably read-only operations. 4. Disable agent spawning, outbound messaging, destructive file operations, and access to secrets for unattended sessions by default. 5. Enforce limits on runtime, token usage, number of tasks, spawned agents, network requests, and file modifications per activation. 6. Require interactive approval before any privileged, destructive, external, or financially consequential operation. 7. Record an immutable audit log of scheduler activations, queue items selected, tools invoked, files changed, messages sent, and resources consumed. 8. Provide commands to list, disable, and completely remove every installed heartbeat or cron configuration. 9. Include an emergency stop mechanism that prevents new sessions and terminates active autonomous work.
