Back to skill

Security audit

Skill Picker

Security checks for vulnerabilities and agentic risk

Overview

The skill has a clear discovery purpose, but it automatically runs an unpinned npx command under broad triggers, which deserves review before use.

Install only if you are comfortable with the agent running the skills CLI via npx for searches. Prefer a pinned or locally installed audited `skills` CLI, and configure the agent to ask before first-time package retrieval or proactive searches.

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:96
Finding
Unpinned Third-Party Package Execution Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 96–103 **Vulnerability Type**: Unpinned npm dependency execution **Risk Level**: Medium ### Vulnerable Code ```markdown ### Step 2: Search with intent-based queries ```bash # This is the ONLY npx command this skill executes autonomously npx skills find [intent-based query] ``` ``` ### Technical Analysis The skill instructs the agent to autonomously execute `npx skills find` without pinning the `skills` package to a reviewed version or verifying its integrity. If the package is unavailable locally, `npx` may retrieve it and its transitive dependencies from the configured npm registry before running its CLI entry point. Consequently, the code executed at invocation time is not fully represented by the audited project and may change after this skill has been reviewed. A compromised package release, dependency, publisher account, or registry could cause arbitrary package or lifecycle code to run under the invoking user's account. The fact that the intended command performs only a search does not constrain what the downloaded package itself can do. No evidence was found that the current skill intentionally selects a typosquatted or known-malicious package. The risk arises from autonomous execution of an unpinned external dependency. ### Attack Path 1. A user asks the agent to discover or recommend a skill. 2. The loaded instructions direct the agent to run `npx skills find [query]`. 3. `npx` resolves the unversioned `skills` package through the configured npm registry and may download the package and its dependency graph. 4. An attacker who has compromised the package, a transitive dependency, its publisher account, or the package-resolution infrastructure publishes malicious code. 5. `npx` executes the resolved CLI or associated lifecycle behavior with the permissions and environment of the agent process. 6. The malicious code can perform operations unrelated to registry search before returning ...[truncated 681 chars]
Remediation
## Remediation Suggestions 1. Replace the floating package reference with an exact, previously audited version, for example: ```bash npx skills@<audited-exact-version> find [intent-based query] ``` 2. Prefer declaring the CLI as a project dependency, committing a lockfile, and invoking the lockfile-controlled local executable: ```bash npx --no-install skills find [intent-based query] ``` This prevents `npx` from silently retrieving a missing package during skill execution. 3. Install dependencies in a controlled build or provisioning phase using lockfile integrity data rather than downloading executable packages during user-facing operations. 4. Verify the exact npm package identity, publisher, provenance, signatures or attestations where available, and the complete transitive dependency tree before approving a version. 5. Configure a trusted registry and consider disabling dependency lifecycle scripts where compatible with the package. 6. Require explicit user confirmation before any first-time external package retrieval, clearly stating that third-party code will be downloaded and executed. 7. Run the search utility in a restricted environment with minimal filesystem access, sanitized credentials and environment variables, limited network access, and no elevated privileges.
Vulnerability Patterns
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (23)

Vague Triggers

Medium
Confidence
97% confidence
Finding
The activation criteria are broad enough to trigger on common requests such as 'how do I do X' or 'can you do X', causing the skill to run autonomously in many ordinary conversations. Because this skill executes `npx`-based searches, over-triggering expands the attack surface and can lead to unnecessary external command execution and unsolicited package recommendations.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The skill declares and relies on `npx` without pinning a package/version, which means execution depends on whatever package resolution returns at runtime. If the upstream package, dependency chain, or namespace is compromised, the agent could run attacker-controlled code during skill execution.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This line instructs autonomous execution of `npx skills find [query]` without identifying an exact package/version. Unpinned `npx` execution is risky because it can fetch and execute code from the registry at runtime, exposing the environment to supply-chain compromise.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The security note still relies on unpinned `npx skills find`, so the command remains vulnerable to package substitution or malicious updates even if install commands are not auto-run. Search-only behavior reduces privilege escalation scope somewhat, but the core issue is arbitrary remote code execution through package resolution.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The proactive trigger conditions are subjective ('friction', 'workflow opportunity', 'capability gap') and permit the skill to suggest itself in ambiguous situations without well-defined boundaries. In this context, that increases the frequency of autonomous `npx skills find` execution and raises the chance of manipulative or unwanted skill-install recommendations.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
The command template authorizes the skill to execute an unpinned `npx skills find [intent-based query]`. Any autonomous command execution path using bare `npx` introduces a supply-chain attack surface that could lead to code execution in the agent'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.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This line explicitly states the skill executes `npx skills find [query]`, again without a pinned version. Because the skill is designed to run this autonomously, compromise of the referenced package could directly lead to malicious code execution when users ask for recommendations.

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
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
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
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
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
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
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
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
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
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
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
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
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
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 commands reference section explicitly lists `npx skills find [query]` as executed by the skill. Because it uses a bare package reference with runtime resolution, it exposes the agent to supply-chain attacks and arbitrary code execution.

Static analysis

No suspicious patterns detected.