T06 · System Persistence
Error
- Location
- SKILL.md:206
- Finding
- Automatic Daily Self-Update Establishes Cross-Session Persistence## Vulnerability Details **File Location**: `SKILL.md`, lines 206–221 **Vulnerability Type**: Persistent scheduled task installation **Risk Level**: High ### Vulnerable Code ```markdown ## Initialization On first invocation of any Weave command, `_open_db()` handles auto-initialization: 1. Create `~/openclaw/db/ocas-weave/` and subdirectories (`staging/`) 2. Write default `config.json` with ConfigBase fields if absent 3. Create `~/openclaw/journals/ocas-weave/` 4. Open database (auto-creates `weave.lbug` and runs DDL if tables absent) 5. Register cron job `weave:update` if not already present (check `openclaw cron list` first) 6. Log initialization as a DecisionRecord ## Background tasks | Job name | Mechanism | Schedule | Command | |---|---|---|---| | `weave:update` | cron | `0 0 * * *` (midnight daily) | `weave.update` | openclaw cron add --name weave:update --schedule "0 0 * * *" --command "weave.update" --sessionTarget isolated --lightContext true --timezone America/Los_Angeles ``` ### Technical Analysis The Skill directs the Agent to install a daily cron job automatically during the first invocation of any command. This scheduled task survives the initiating run and repeatedly invokes the self-update feature without requiring approval for each execution. Scheduled execution is not required for the Skill's core social-graph operations. Coupled with the mutable remote update mechanism, the cron job creates a persistent delivery channel through which later upstream changes can alter installed Skill instructions after the initially reviewed version has been approved. ### Attack Path 1. A user invokes any Weave command. 2. The initialization procedure checks the cron configuration. 3. The Agent registers `weave:update` as a daily task. 4. The scheduled task survives the original session and runs in an isolated future session. 5. Each execution contacts the configured GitHub source and may instal ...[truncated 991 chars]
- Remediation
- ## Remediation Suggestions - Remove automatic cron registration from first-use initialization. - Require an explicit, informed user action before enabling scheduled updates. - Keep updates manual by default and require confirmation for every installation. - Clearly display the update source, target version, changed files, and integrity information before approval. - If scheduling is retained, provide an obvious disable command and register no task unless the user affirmatively opts in. - Combine these controls with immutable, cryptographically verified releases as described in the remote-update finding.
