Back to skill

Security audit

Luke Find Skills

Security checks for vulnerabilities and agentic risk

Overview

The skill’s purpose is legitimate, but it can turn broad help requests into unpinned remote CLI execution and global third-party skill installs with skipped confirmations.

Review this skill carefully before installing. It is not malicious on the inspected evidence, but it should only be used when you explicitly want to search for or install skills. Prefer pinned CLI versions, inspect candidate skill source and publisher provenance first, avoid `-g -y` by default, and do not let it install or update skills automatically from search results.

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

Error
Location
SKILL.md:21
Finding

Unpinned Third-Party CLI and Unattended Global Skill Installation

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 ``` ```markdown If the user wants to proceed, you can install the skill for them: ```bash npx skills add -g -y ``` ``` ### Technical Analysis The skill directs the Agent to invoke `npx skills` without pinning the CLI to an exact, reviewed version. Depending on the local environment and npm cache, `npx` can retrieve and execute the current published version of the package. This creates a mutable remote dependency whose behavior may change after this skill has been reviewed. The installation workflow also permits packages discovered from GitHub or other external sources and recommends `-g -y`, which installs globally at the user level while suppressing confirmation prompts. The documented process does not require: - Pinning the CLI package to an exact version and integrity hash. - Pinning installed skills to immutable commit identifiers. - Restricting installation to an audited source allowlist. - Reviewing downloaded files before activation. - Verifying signatures, checksums, provenance, or publisher identity. - Obtaining explicit user confirmation immediately before installation. Consequently, compromise of the npm package, a referenced repository, or a similarly named dependency could introduce attacker-controlled code or instructions into the Agent environment. ### Attack Path 1. An attacker publishes a malicious or typosquatted skill, compromises a legitimate skill repository, or compromises the npm package resolved b ...[truncated 1520 chars]
Remediation
View remediation
find ``` Record and verify the package integrity hash through a lockfile or equivalent trusted mechanism. Do not use `--yes` for installation actions. 2. Require skills to be pinned to immutable commit hashes or signed releases rather than mutable repository branches or tags. 3. Establish an allowlist of reviewed publishers and repositories. Reject typosquatted names, unexpected forks, and sources without verifiable provenance. 4. Download candidate skills into an isolated temporary directory and inspect all instructions, scripts, manifests, lifecycle hooks, dependencies, and external network behavior before installation. 5. Verify checksums, signatures, publisher identity, and repository ownership. Re-run review whenever the pinned version or commit changes. 6. Remove `-y` from installation commands and require explicit, informed user approval after presenting the exact source, revision, requested installation scope, and review results. 7. Avoid `-g` by default. Prefer a task-local or isolated installation with minimum filesystem and network permissions. 8. Run discovery and installation tooling in a sandbox or container without sensitive environment variables, credentials, broad filesystem access, or elevated privileges. 9. Separate search from installation: search results must be treated as untrusted input and must never be installed automatically merely because they rank highly or use a familiar name. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (17)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The description says the skill should be used for broad prompts like 'how do I do X' and 'can you do X', which overlap heavily with ordinary assistant requests. That ambiguity can cause unintended invocation of a skill that recommends remote package execution and third-party installs, exposing users even when they did not explicitly ask to manage extensions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation conditions are broad enough to match many generic capability or help-seeking requests. In this file's context, accidental activation is more dangerous because the skill steers users toward unpinned npx commands and third-party skill installation workflows.

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 a specific package version. Because npx resolves and executes code from the registry at runtime, an upstream compromise, typosquat, or unexpected breaking update could cause arbitrary code execution on the user's machine when they search for or install skills.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This command reference uses npx skills without an exact version, causing the agent or user to fetch and run whatever package version is current at execution time. That creates a supply-chain execution path where malicious or compromised upstream content can immediately run locally.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

An unpinned npx skills add example encourages runtime execution of mutable remote package code. If the package manager resolves a compromised or changed version, the host may execute attacker-controlled code before the user understands the risk.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

Using npx skills check without version pinning still executes remote package code, even though the action appears read-only. Users may underestimate the risk because the command sounds harmless, but npx must first resolve and run the package.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

npx skills update is both unpinned and intended to modify installed components, compounding supply-chain risk. A compromised package or update path could alter multiple installed skills or execute arbitrary system commands.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill tells the agent to run npx skills find [query] with no version pinning. This creates an execution path from documentation to local code execution where upstream package changes can affect every invocation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This example embeds an unpinned npx skills find react performance command, normalizing unsafe execution of mutable remote code. Because the examples are task-oriented, users are likely to copy-paste them directly, increasing practical exploitability.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The PR review search example again relies on unpinned npx execution. Repetition across the document amplifies the chance that users will follow unsafe commands without questioning provenance or version integrity.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This changelog search example uses the same unpinned runtime execution model. Even though the action is just discovery, the mechanism still grants arbitrary package code execution on the local host.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The installation instruction npx skills add <owner/repo@skill> is especially risky because it pairs unpinned CLI execution with installation of additional remote content. This creates layered supply-chain exposure: the CLI itself and the fetched skill source may both be compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The 'offer to install' step instructs direct execution of npx skills add ... -g -y without pinning the package version. This is dangerous because it both executes mutable remote code and installs software globally with minimal friction, increasing the blast radius of a compromise.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs installation with -g -y, which performs a global install and suppresses confirmation prompts, but it does not warn the user about the security consequences. Combined with third-party skill sources and unpinned CLI execution, this can lead to silent system-wide installation of unreviewed code with a larger blast radius.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The tips section mentions npx skills init without pinning, again endorsing execution of mutable remote package code. Although initialization is less severe than global install, it still exposes the host to arbitrary code execution from the fetched package.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The fallback guidance suggests npx skills init my-xyz-skill without pinning. Even when no skill is found, the document still routes users into remote code execution via an unversioned package manager path.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This final npx skills reference continues the pattern of unpinned package execution in a skill whose whole purpose is to discover and install third-party extensions. In this context, the risk is elevated because the skill funnels users toward repeated interactions with remote code and package sources.

Content

No source excerpt is available for this finding.