Back to skill

Security audit

Claw Find Skills

Security checks for vulnerabilities and agentic risk

Overview

This skill is a legitimate skill-discovery helper, but it steers agents toward unpinned remote CLI execution and unattended global installation of third-party skills.

Review this skill carefully before installing. Use it only when you explicitly want marketplace skill discovery, avoid unattended global installs, prefer pinned and trusted CLI versions, verify the exact skill source and revision, and do not install third-party skills without reviewing their contents and provenance.

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:28
Finding

Unpinned CLI Execution and Unverified Global Installation of Third-Party Skills

Content
View full analysis
` - Install a skill from GitHub or other sources - `npx skills check` - Check for skill updates - `npx skills update` - Update all installed skills ``` From `SKILL.md:88-92`: ```markdown If the user wants to proceed, you can install the skill for them: ```bash npx skills add -g -y ``` ``` The same workflow is also documented in `README-zh.md:34-41`, `README-zh.md:62-64`, and `README-zh.md:104-111`. ### Technical Analysis The skill directs the agent to execute `npx skills` without pinning the CLI package to a reviewed version. Depending on the local package-manager state, `npx` can retrieve and execute the currently published version of the named package. Consequently, the code executed at audit time may differ from the code executed later. The installation workflow accepts skill packages discovered through an external registry and explicitly supports GitHub and other unspecified sources. It does not require: - Pinning the CLI or selected skill to an immutable version or commit. - Verifying package checksums, signatures, or provenance. - Validating repository ownership against a trusted allowlist. - Reviewing package contents, scripts, or skill instructions. - Disabling or inspecting package lifecycle hooks. - Installing into an isolated, task-specific environment. The recommended `-g` option expands the installation to user-level global scope, while `-y` suppresses confirmation prompts provided by the installer. Although the document states that the user should agree before installation, no final verification step is required for the exact package source, revi ...[truncated 2182 chars]
Remediation
View remediation
`. - Maintain a controlled process for reviewing and updating the pinned version. - Use lockfiles and integrity metadata where the execution environment supports them. 2. **Pin installed skills to immutable references** - Require a reviewed release identifier or full Git commit hash. - Do not install directly from mutable branches, tags that can be moved, or unspecified latest versions. 3. **Restrict trusted sources** - Maintain an allowlist of approved repository owners, repositories, and registries. - Reject redirects and packages from unspecified “other sources.” - Verify repository ownership and package provenance before presenting a recommendation. 4. **Inspect packages before installation** - Download or clone candidate packages into an isolated temporary directory. - Review manifests, lifecycle scripts, executable files, symlinks, and skill instructions. - Scan dependencies for known vulnerabilities, typosquatting, and suspicious behavior. - Verify signatures or checksums against a trusted channel when available. 5. **Avoid unattended global installation** - Remove `-g` and `-y` from the default workflow. - Prefer project-local or sandboxed installation with minimal filesystem and network permissions. - Require a final confirmation that displays the exact source, immutable revision, integrity value, and installation destination. 6. **Apply runtime isolation** - Run discovery and installation commands in a container or restricted subprocess. - Deny access to sensitive environment variables, SSH keys, cloud credentials, and unrelated user files. - Restrict outbound network access to approved registries and repositories. 7. **Provide removal and audit controls** - Record the installed package, source repository, revision, integrity value, and installation time ...[truncated 187 chars]
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (34)

Vague Triggers

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The overview says the skill triggers on broad prompts like 'how do I do X' or 'is there a skill that can...', which are common everyday expressions not clearly limited to skill discovery. This can cause the agent to invoke a skill-installation workflow in many unrelated conversations, increasing chances of steering users toward external package execution when they only wanted advice.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger table includes vague categories like asking about capabilities, wanting to extend the agent, or searching for templates, without strict boundaries or negative conditions. In this context, over-broad triggering is dangerous because the skill's documented workflow leads quickly to discovery and installation of external code, so accidental invocation materially increases supply-chain exposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documentation explicitly encourages the agent to perform npx skills add <owner/repo@skill> -g -y, meaning global installation with confirmations suppressed. In a skill designed to fetch code from GitHub and other external sources, this removes meaningful user consent and safety review at the exact moment arbitrary third-party code may be installed persistently on the system.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The documentation repeatedly instructs use of npx skills without pinning an exact package version, so execution depends on whatever version is currently resolved from the registry. Because this skill also recommends installing additional packages from external sources, an upstream compromise, typo-squatted dependency, or breaking release could lead to arbitrary code execution in the agent/user environment.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The README references npx skills as a runtime command without version pinning, which causes retrieval and execution of code that may change over time. In a skill whose purpose is discovering and installing more skills, this increases supply-chain risk and can expose users to unreviewed code execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

Using npx skills without an exact version means the command may execute newly published or compromised package content. Since the documented flow normalizes package management actions, a user may unknowingly run attacker-controlled code if the package or its dependencies are hijacked.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The command npx skills check is presented without version pinning, inheriting the same supply-chain execution risk as other npx calls. Even metadata/check commands can execute arbitrary package lifecycle or runtime code when the package is fetched dynamically.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The update path relies on an unpinned npx skills invocation, which is especially risky because update workflows are often trusted and run with minimal scrutiny. A malicious or compromised upstream package could turn the documented maintenance action into arbitrary code execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The workflow instructs searching via npx skills find [query] without version pinning, so users execute whatever package version the registry currently serves. Because this command is central to the skill's activation path, the exposure is frequent and likely in real use.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The example command npx skills find react performance is unpinned and encourages direct execution by copy-paste. Example commands are particularly dangerous because users tend to trust them verbatim, extending supply-chain risk to routine usage.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

This example uses npx skills find pr review without pinning the skills package version. The dynamic resolution creates a moving trust boundary and can expose users to malicious or altered code from the registry or dependency chain.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The example npx skills find changelog has the same issue: it fetches and runs an unpinned package at invocation time. In aggregate with many such examples, the documentation normalizes an unsafe operational pattern.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The install instruction format references npx skills add <owner/repo@skill> under an unpinned CLI context. This combines two trust problems: executing an unpinned package manager helper and then installing externally sourced skills, increasing the likelihood of supply-chain compromise.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The example installation command uses npx skills add ... without version pinning, which can execute arbitrary code from an unexpected CLI release before performing package installation. Because this step results in installing more code, the blast radius includes both the CLI and the selected skill package.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The command npx skills add <owner/repo@skill> -g -y is unpinned and also performs unattended global installation, making compromise especially severe. A malicious or compromised CLI or skill could persist code at the user level without an interactive safety checkpoint.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The fallback guidance includes npx skills init my-xyz-skill without pinning, which still exposes users to dynamic package execution. Although initialization is less immediately dangerous than global installation, it remains a supply-chain risk with code execution potential.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The feature summary states the skill relies only on npx skills CLI, but that dependency is still an unpinned runtime code source. Presenting it as a simple/no-dependency model can understate the real supply-chain exposure to operators.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The metadata description says the skill should be used for broad prompts like 'how do I do X' or 'can you do X', which overlaps with many ordinary help requests. Over-broad invocation criteria can cause the agent to route benign queries into a skill that recommends executing package-management and installation commands, creating unnecessary exposure to remote code and unintended system modification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The 'When to Use' section is ambiguous and broad enough to capture common assistance requests rather than only explicit skill-discovery intents. This increases the chance the agent will suggest package search or installation workflows when simple guidance would suffice, unnecessarily exposing users to third-party content and command execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill repeatedly instructs use of npx skills without pinning an exact package version, which causes execution of whatever package version is current at invocation time. Because this skill is specifically about discovering and installing additional code from external sources, an upstream compromise, typosquat, or malicious update could lead to arbitrary code execution in the user's environment.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This command references npx skills without a pinned version, so the executed package may change over time and is not reproducible. In a skill that encourages package discovery and installation from remote sources, this meaningfully increases supply-chain risk and can expose users to execution of malicious code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Using unpinned npx skills allows the package manager to fetch and run the latest published version at execution time. If the package or dependency chain is compromised, this skill's instructions could directly facilitate arbitrary code execution on the host.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The npx skills check invocation is unpinned and therefore trusts the latest remote package resolution each time it runs. Even seemingly read-only commands still execute package code locally, so a malicious release could compromise the system.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The npx skills update instruction runs mutable remote code because the package name is not version-pinned. In the context of a tool that updates and installs more artifacts, this compounds supply-chain exposure and may enable broad system changes from an unreviewed upstream release.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The search command uses unpinned npx skills, which means the act of searching already executes mutable package code from the registry. Because users may treat search as low-risk, this instruction can create a false sense of safety while still exposing them to supply-chain compromise.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.