Back to skill

Security audit

Auto-Update (OpenClaw + Skills)

Security checks for vulnerabilities and agentic risk

Overview

This skill openly sets up local automatic OpenClaw and skill updates with backups and logs, but users should confirm the schedule and backup scope carefully before enabling it.

Install only if you want a persistent auto-update workflow. Before enabling it, explicitly choose auto, notify, or manual mode for OpenClaw, decide whether new skills default to all-in or all-out, review the exact cron or scheduler entry, and avoid backing up ~/.openclaw/credentials/ unless you have a secure encrypted destination and a clear recovery need.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
openclaw.md:40
Finding
Credential Directory Backups Lack Mandatory Security Controls## Vulnerability Details **File Location**: `openclaw.md`, lines 40–48 **Vulnerability Type**: Sensitive credential exposure through insufficiently protected backups **Risk Level**: Medium ### Vulnerable Code ```markdown ## Optional Backup Scope Offer, but do not assume: - `~/.openclaw/workspace/` - `~/.openclaw/credentials/` These can be larger or more sensitive, so the user should decide explicitly. ``` ### Technical Analysis The skill permits the entire `~/.openclaw/credentials/` directory to be included in a backup after explicit user approval. Although this behavior is optional and there is no instruction to transmit credentials externally, the backup contract does not require: - Encryption at rest - A trusted local destination - Restrictive directory and file permissions - Symbolic-link and path-traversal protections - Exclusion of unnecessary credential files - Post-copy permission verification - A defined retention and secure-deletion policy Copying credentials creates additional long-lived instances of authentication material and therefore expands the exposure surface beyond the minimum privileges needed to update OpenClaw. User consent alone does not ensure that the backup destination or implementation is secure. ### Attack Path 1. The user explicitly enables the optional credential-directory backup. 2. A scheduled update copies `~/.openclaw/credentials/` to a backup destination. 3. The destination has permissive access rights, is synchronized to another service, or resolves through an unsafe symbolic link. 4. Another local user, process, synchronization recipient, or later system intruder accesses the copied files. 5. Any reusable tokens or credentials in the backup are used to access the corresponding services with the victim's privileges. This path depends on an insecure backup destination or implementation; the reviewed documentation does not itself perform exfiltration. ### Impact Assessment An attacker could obtain authentication ma ...[truncated 521 chars]
Remediation
## Remediation Suggestions - Exclude `~/.openclaw/credentials/` from the standard and recommended backup scopes. - Permit credential backups only when the user identifies a concrete recovery requirement and separately approves the destination. - Prefer exporting only the minimum required recoverable material rather than copying the entire directory. - Require an encrypted local backup destination under the user's control. - Create backup directories with mode `0700` and credential files with mode `0600` on platforms that support POSIX permissions. - Reject symbolic links and verify that the canonical destination remains inside the approved backup root. - Avoid cloud-synchronized, shared, temporary, or world-readable destinations unless the user explicitly accepts the documented risk. - Verify ownership, permissions, encryption status, and backup integrity after the copy. - Do not record secret contents in `backups.md`, `run-log.md`, or other ledgers; record only sanitized paths and metadata. - Establish explicit retention and secure-deletion rules for credential-bearing backups. - Warn the user that copied credentials may remain valid after the primary configuration changes, and recommend credential rotation following suspected backup exposure.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Ae1

High
Category
analysis-evasion
Content
- Never modify this skill's own `SKILL.md`.
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
- Never modify this skill's own `SKILL.md`.
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Missing User Warnings

Medium
Confidence
88% confidence
Finding
This markdown file instructs creation of a recurring scheduled task that can apply `openclaw update --json`, create backups, and write `backups.md` and `run-log.md`. While it mentions initial user approval for the recurring run, it does not clearly disclose in the skill description that the scheduled task will continue making system and file changes automatically on future runs.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The template explicitly records whether auto-update behavior should activate during install-time conversations, but it does not define narrow triggers, consent requirements, or scope limits. That creates a risk that the skill could treat broad installation-related dialogue as implicit authorization for future autonomous actions, leading to unwanted updates or policy changes without clear user approval.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The phrase "just set it up" is broad, conversational, and likely to appear in normal user requests unrelated to a specific, informed update policy choice. In this skill, matching that phrase could silently place OpenClaw into automatic core updates and default new skills into auto-update behavior, increasing the chance of unintended configuration changes with security and operational consequences.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- store timezone explicitly
- separate discovery cadence from apply cadence when the user wants more caution
- keep quiet hours explicit
- do not edit cron, launchd, Task Scheduler, or OpenClaw config without approval or standing permission
- never use heartbeat as the exact daily trigger for updates
- use heartbeat only for adaptive follow-up after updates or for pending migration reminders
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- store timezone explicitly
- separate discovery cadence from apply cadence when the user wants more caution
- keep quiet hours explicit
- do not edit cron, launchd, Task Scheduler, or OpenClaw config without approval or standing permission
- never use heartbeat as the exact daily trigger for updates
- use heartbeat only for adaptive follow-up after updates or for pending migration reminders
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- store timezone explicitly
- separate discovery cadence from apply cadence when the user wants more caution
- keep quiet hours explicit
- do not edit cron, launchd, Task Scheduler, or OpenClaw config without approval or standing permission
- never use heartbeat as the exact daily trigger for updates
- use heartbeat only for adaptive follow-up after updates or for pending migration reminders
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The setup guidance encourages creating a recurring cron-based auto-update flow and persisting configuration in files under ~/auto-update/ without explicitly warning the user that this enables unattended changes and stores durable policy/state on disk. That omission can lead users to authorize automation they do not fully understand, increasing the risk of surprise updates, broken environments, or unwanted persistence of operational preferences.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
This markdown file proposes behavior that writes preference data to `~/auto-update/skills.md` and relies on `~/auto-update/memory.md`, which affects user files. The description does not include any warning about creating or modifying these files, even though SQP-2 applies to markdown files when user data or system integrity may be affected.

Static analysis

No suspicious patterns detected.