Back to skill

Security audit

Find Skills for ClawHub

Security checks for vulnerabilities and agentic risk

Overview

The skill is a mostly coherent ClawHub discovery helper, but it also includes broad install, update, publish, sync, and unpinned npx execution paths that users should review before installing.

Install only if you are comfortable letting the assistant query ClawHub and help install skills. Before using it, prefer a pinned and trusted ClawHub CLI version, review any skill before installation, avoid sync --all unless you know exactly what local skills will be uploaded, and require explicit confirmation for install, update, publish, or sync commands.

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
scripts/search-clawhub.sh:22
Finding
Unpinned Third-Party ClawHub CLI Download and Execution<![CDATA[ ## Vulnerability Details **File Locations**: - `scripts/search-clawhub.sh:22-39` - `SKILL.md:28-34, 109-123, 159, 244-245` - `DEVELOPMENT.md:53-58, 146, 226-227` **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: Medium ### Vulnerable Code `scripts/search-clawhub.sh:22-39`: ```bash if command -v clawhub &> /dev/null; then CLAWHUB_CMD="clawhub" elif command -v npx &> /dev/null; then CLAWHUB_CMD="npx clawhub" echo "[INFO] Using npx (clawhub not installed globally)" else echo "[ERROR] Neither clawhub nor npx found. Install with: npm i -g clawhub" echo "[INFO] Or install Node.js to use npx." exit 1 fi echo "[INFO] Searching ClawHub for: '$QUERY' (Limit: $LIMIT)" # Run search command set +e OUTPUT=$($CLAWHUB_CMD search "$QUERY" --limit "$LIMIT" 2>&1) EXIT_CODE=$? ``` `SKILL.md:28-34`: ```bash npm i -g clawhub ``` Or use it via npx (slower but no installation): ```bash npx clawhub search "query" ``` `DEVELOPMENT.md:53-58`: ```bash npm i -g clawhub ``` 2. **npx usage** (no installation): ```bash npx clawhub search "query" ``` ### Technical Analysis The skill instructs users and AI agents to install or execute the `clawhub` npm package without specifying a reviewed version or verifying package integrity. The helper script automatically falls back to `npx clawhub` when a globally installed executable is unavailable. Because no version is pinned, npm resolves the package version available from the configured registry at execution time. The effective executable can therefore change after this skill has been reviewed. If the package, publisher account, registry resolution, or a newly released version is compromised, `npx` can download and execute attacker-controlled code. Likewise, `npm i -g clawhub` can run package lifecycle scripts and creates a persistent, system-wide dependency whose contents may differ over time. The script also performs the npx fallback automatically rather than requestin ...[truncated 1780 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the CLI to a specifically reviewed release: ```bash npx --yes clawhub@<reviewed-version> search "$QUERY" --limit "$LIMIT" ``` 2. Prefer a project-local dependency managed through a lockfile rather than a global installation: ```bash npm install --save-exact clawhub@<reviewed-version> ``` 3. Commit and review the generated lockfile, and use a reproducible installation command such as `npm ci`. 4. Verify package integrity and provenance before execution. Document the expected npm package name, publisher, registry URL, release version, and integrity hash or signature where supported. 5. Require explicit user approval before downloading or executing the package for the first time. Do not silently convert the absence of a local executable into remote package retrieval. 6. Avoid recommending `npm i -g` because it creates a mutable system-wide dependency. If global installation is unavoidable, pin the exact version and do not run npm with elevated privileges. 7. Execute the CLI with the minimum required filesystem, environment, and network access. Avoid exposing unrelated secrets to the subprocess. 8. Establish a dependency update process in which new versions are reviewed and tested before the pinned version is changed. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (22)

Missing User Warnings

High
Confidence
97% confidence
Finding
The `clawhub sync --all` instruction lacks any warning that it uploads local skills to a remote service, creating a direct risk of accidental exfiltration of proprietary or sensitive artifacts. This is especially dangerous because it is framed as a convenience feature inside a discovery skill, so users may not expect a network upload of local content.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
The guide recommends invoking `npx` for a package/CLI without pinning a specific version, which can pull whatever package version is current at execution time. In a skill-development context, that creates supply-chain risk and makes behavior non-deterministic; if the package is compromised or a breaking version is published, users may execute unreviewed code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
`npx clawhub search "query"` executes a package fetched at runtime without an exact version pin. That exposes users to package substitution, malicious updates, or accidental execution of a newer CLI with unexpected behavior, which is especially risky because the document encourages direct command execution.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The activation guidance uses broad triggers like general OpenClaw capability questions, which can cause the skill to activate for many unrelated requests. Over-broad activation increases the probability that the assistant injects discovery/install behavior or executes registry-related workflows when the user did not specifically ask for them.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The development guide broadens the skill from discovery into installation and update operations, which exceeds the declared purpose of merely finding skills. Scope expansion is dangerous because it grants or normalizes higher-impact actions—installing or updating third-party skills—when users may expect a low-risk search-only helper.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
The guide includes account-oriented and publishing operations such as `clawhub login`, `publish`, and `sync --all`, which are unrelated to simply finding available skills. These actions can modify remote state, expose credentials or tokens, and cause unintended publication of local content, making the skill substantially more dangerous than its stated role suggests.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The document suggests storing user search history in memory without discussing consent, retention limits, or privacy protections. Search terms can reveal sensitive interests, internal project names, or operational needs, so silent retention creates avoidable privacy and data-governance risk.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The troubleshooting section again recommends `npx clawhub search` without a pinned version, repeating the same runtime supply-chain exposure. Repetition increases the chance implementers copy unsafe usage into production documentation or workflows.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The activation criteria are broad enough to match generic questions about what OpenClaw can do, causing this skill to trigger in many normal help scenarios. Over-broad activation is risky here because the skill contains instructions for package installation and other side-effecting actions, increasing the chance of unnecessary or surprising command execution paths.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill is presented as a discovery tool, but the body instructs the assistant to install, update, publish, and sync skills, expanding from passive search into actions that modify the workspace or send data externally. This scope drift is dangerous because it can trigger higher-risk operations under the guise of a low-risk discovery skill.

Vague Triggers

Medium
Confidence
94% confidence
Finding
Examples like 'how do I do X with OpenClaw' and 'can OpenClaw do X' are ambiguous and can pull this skill into conversations that do not actually require third-party registry interaction. Because the skill then recommends CLI installation and package actions, the ambiguity increases the attack surface and likelihood of unsafe escalation from a simple question to external code retrieval.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
Using `npx clawhub` without a pinned version causes execution of whatever package version is current at runtime, introducing supply-chain risk and reducing reproducibility. In a skill that encourages command execution by an assistant, this is more dangerous because it can lead directly to fetching and running unreviewed code from the registry.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The install instructions tell the user or assistant to install third-party skills into the workspace without warning that skills are executable/active content that may affect future sessions. In a skill registry context, omission of that warning can lead users to import unreviewed code or prompts with persistent effects.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The instruction to run `npx clawhub` without version pinning exposes users to unexpected package updates or package substitution attacks at execution time. Because this skill is designed to guide or automate CLI use, the unpinned invocation materially increases the chance of remote code execution via the package ecosystem.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
An unpinned `npx clawhub` command allows runtime retrieval of the latest package version, which may change behavior or become compromised. In the context of skill installation workflows, this creates a direct path from documentation to execution of untrusted remote code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
Referencing `npx clawhub` without a version pin leaves the executed package uncontrolled and mutable over time. Since the skill also discusses installing third-party skills into the workspace, the lack of version pinning amplifies supply-chain exposure.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
Including `publish` and especially `sync --all` goes beyond finding skills and can upload local content to a remote service. In this context, the hidden expansion from discovery to outbound publication creates a meaningful risk of accidental data exfiltration or unintended release of proprietary local skills.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The troubleshooting guidance still promotes unpinned `npx clawhub`, preserving the same supply-chain and reproducibility risk even in fallback paths. Fallback instructions are often followed under pressure, making unsafe defaults particularly risky.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The script constructs 'npx clawhub' and later executes it, which can cause npx to download and run the latest clawhub package if it is not already installed. Because no version is pinned, execution is subject to supply-chain risk: a compromised upstream package, malicious new release, or unexpected breaking change could result in arbitrary code execution in the user's environment.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Static analysis

No suspicious patterns detected.