Back to skill

Security audit

OpenClaw Skills Doctor

Security checks for vulnerabilities and agentic risk

Overview

The skill coherently documents auditing and reversible cleanup of installed skills, though its external npm implementation remains unverified.

Start with check or plan, review fix --dry-run before applying changes, and confirm which skills will be archived or hidden. Prefer a reviewed, pinned package version. Optional MCP installation changes persistent configuration; this review covers the supplied instructions, not the npm package's executable behavior.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The dry-run command aligns with auditing and planning, but the two subsequent fix commands apply changes. Reversibly archiving skills and changing their automatic-invocation behavior are material write capabilities not disclosed by the audit-and-plan description. The supplied chunk also does not visibly produce token-cost measurements.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx homepage'.

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.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The doctor command executes an npm package without an exact version, allowing the resolved code to change over time. A compromised release could execute with the agent's filesystem and network permissions; -y removes the package-install confirmation prompt.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The check command executes an unpinned npm package with automatic installation approval. Describing the intended check as read-only does not constrain a compromised package, which could access sensitive files or modify the environment.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

Although plan is intended to produce recommendations, it still executes code from an unpinned npm package. A compromised resolved release could perform arbitrary actions with the agent's permissions instead of merely reporting a plan.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The scan command uses an unpinned package, so the executable code is not fixed by the skill documentation. A compromised release could misuse the filesystem access granted for scanning or exfiltrate accessible data.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The dry-run command executes an unpinned package before any dry-run behavior can be trusted. A compromised release need not honor --dry-run, so this flag does not provide a security boundary.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The fix command executes an unpinned package in a workflow that intentionally permits skill-file changes. A compromised release could abuse that write access, and a preceding dry run could resolve different package code if the release changes between invocations.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The fix --hide command uses an unpinned npm package while granting it access to modify skill behavior. A compromised release could make unrelated configuration changes or execute other actions with the agent's permissions.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx -y openclaw-skills-doctor'.

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The documented MCP installation command executes an unpinned npm package with automatic installation approval. A compromised release could abuse installation privileges; the supplied file does not establish whether the resulting MCP registration pins its runtime version.

Content

No source excerpt is available for this finding.