Back to skill

Security audit

Auto-Updater (Windows Compatible)

Security checks for vulnerabilities and agentic risk

Overview

This auto-updater is coherent, but it can schedule recurring no-input updates that modify OpenClaw and all installed skills through unpinned command execution.

Install only if you intentionally want automated OpenClaw and skill updates. Prefer pinning the ClawHub CLI version, using a trusted registry or verified local binary, reviewing what will change before bulk updates, and keeping an easy way to disable the scheduled job or roll back updates.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:51
Finding

Unpinned Third-Party Package Execution Through npx

Content
View full analysis
--no-input ``` From `SKILL.md:56`: ```powershell npx clawhub update --force --workdir --no-input ``` From `references/agent-guide.md:6-7`: ```text - `npx clawhub --cli-version` - `npx clawhub list --workdir --no-input` ``` From `references/agent-guide.md:27`: ```powershell npx clawhub update --all --workdir --no-input ``` From `references/agent-guide.md:32`: ```powershell npx clawhub update --force --workdir --no-input ``` ### Technical Analysis The skill repeatedly invokes `npx clawhub` without specifying an exact, reviewed package version. Depending on the local installation and npm configuration, `npx` can resolve and download the package from the configured npm registry before executing it. Because the package version, package integrity, and trusted registry are not pinned, the code executed by these commands can change after the skill has been reviewed. This creates a supply-chain exposure in both update operations and nominally read-only environment checks such as `--cli-version` and `list`. Exploitation would require control over, or malicious influence on, the package resolved as `clawhub`. Potential mechanisms include compromise of the legitimate package publisher, a compromised or attacker-controlled npm registry, malicious registry configuration, or publication of a malicious future release selected by the unpinned command. ### Attack Path 1. An attacker compromises the package or publishing account used for the `clawhub` package, or causes the victim to resolve packages through a malicious ...[truncated 1385 chars]
Remediation
View remediation
update --all --workdir --no-input ``` 2. Prefer a preinstalled and independently verified OpenClaw-native or ClawHub executable rather than downloading executable package content during each run. 3. Use a trusted registry explicitly and prevent user-controlled or project-controlled npm configuration from silently redirecting package resolution. 4. Manage the dependency through a lockfile that records the exact package version and integrity hash, then install it using a reproducible locked-dependency workflow. 5. Verify package provenance, signatures, checksums, and publisher identity before approving a new version. 6. Where compatible, disable unnecessary npm lifecycle scripts and execute updates from a restricted account with only the filesystem and network permissions required for the update. 7. Apply the same controls to detection commands. A command such as `npx clawhub --cli-version` can still retrieve and execute package code; it should not be treated as safe merely because its intended operation is read-only. 8. Separate package acquisition from execution: download and validate the approved artifact first, then execute only the validated local copy. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • 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 (9)

Self-Modification

High
Category
Rogue Agent
Confidence
89% confidence
Finding

The skill explicitly instructs updating all installed skills, which is a form of self-modification or agent-capability modification. In this context, the danger is amplified because the skill automates recurring updates: a compromised skill source or registry could propagate malicious changes into the agent's future behavior without meaningful review.

Content

Scanner excerpt · SKILL.md (reported line 50)May include surrounding context.

Use OpenClaw gateway restart tool/action after successful build.

3) Update skills

powershell
npx clawhub update --all --workdir <openclaw-home> --no-input

Self-Modification

High
Category
Rogue Agent
Confidence
92% confidence
Finding

This skill explicitly instructs the agent to update skills (update --all) and optionally force overwrites, which is a self-modification capability. Even if intended for maintenance, self-updating agent components are high risk because they can change future behavior, introduce malicious instructions, or persist compromise through trusted update workflows.

Content

Scanner excerpt · references/agent-guide.md (reported line 27)May include surrounding context.

Then restart gateway.

4) Update skills

powershell
npx clawhub update --all --workdir <openclaw-home> --no-input

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The skill instructs use of npx clawhub without pinning an exact package version. npx may fetch the latest published package at execution time, which creates a supply-chain risk: a compromised upstream release or dependency could be executed during update operations with the user's privileges.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This command uses npx clawhub update --all without a pinned version, so the updater tool itself may be downloaded or resolved dynamically at runtime. Because this skill is specifically about automated updates, that dynamic execution path is more dangerous: it can silently introduce and execute unreviewed code across all installed skills.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The forced update path also invokes unpinned npx clawhub, which means a runtime-resolved package can be combined with --force to overwrite locally modified content. If the fetched updater is malicious or compromised, this increases the chance of unauthorized code or content replacement during a destructive operation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

Using npx clawhub without pinning an exact package version causes the agent to fetch and execute whatever version is currently published or resolved at runtime. In an auto-updater skill, this expands the supply-chain attack surface because a compromised or malicious upstream release could be executed during routine environment checks.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The unpinned npx clawhub invocation allows remote code resolution at execution time, which means the command behavior can change without review. Because this command enumerates data in the OpenClaw workdir, compromise of the package could expose local metadata or execute arbitrary code in the user's environment.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

Running npx clawhub update --all without pinning the package version gives a remote package resolver direct control over the updater used to modify installed skills. In an auto-update context, this is more dangerous than a read-only command because it can combine supply-chain compromise with broad self-modification of agent capabilities.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The forced update flow uses an unpinned npx clawhub package in combination with --force, allowing a dynamically resolved package to overwrite local skill state. If the package source or release stream is compromised, an attacker could push malicious updates while bypassing protections intended to stop overwriting modified content.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.