T06 · System Persistence
- Location
SKILL.md:206- Finding
Automatic Daily Self-Update Establishes Cross-Session Persistence
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 206–221
Vulnerability Type: Persistent scheduled task installation
Risk Level: HighVulnerable 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_AngelesTechnical 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
- A user invokes any Weave command.
- The initialization procedure checks the cron configuration.
- The Agent registers
weave:updateas a daily task. - The scheduled task survives the original session and runs in an isolated future session.
- Each execution contacts the configured GitHub source and may instal ...[truncated 991 chars]
- Remediation
View 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.
