Back to skill

Security audit

Find Skills 0

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent purpose, but it steers agents toward unpinned remote CLI execution and global skill installation with skipped prompts.

Review carefully before installing. Use only trusted skill sources, prefer pinned CLI and immutable skill references, inspect candidate skills before adding them, avoid global installs unless needed, and do not skip confirmation for changes that affect future agent sessions.

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

Unpinned CLI Execution and Unverified 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 ### Step 2: Search for Skills Run the find command with a relevant query: ```bash npx skills find [query] ``` ``` ```markdown ### Step 4: Offer to Install If the user wants to proceed, you can install the skill for them: ```bash npx skills add -g -y ``` The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts. ``` ### Technical Analysis The skill directs the agent to execute `npx skills` without pinning the npm package to an exact reviewed version or verifying its integrity. Depending on the local npm environment, `npx` can download and execute the package resolved from the configured registry. Consequently, the code executed by this command may differ from the code that existed when this skill was audited. The resulting workflow also permits installation from GitHub or unspecified “other sources.” It does not require verification of repository ownership, immutable commit identifiers, signatures, checksums, package contents, or requested capabilities before installation. The recommended installation command uses `-g`, increasing the installation scope to the user environment, and `-y`, suppressing the package manager's confirmation prompt. This creates a supply-chain trust gap. A compromised or impersonated CLI package, malicious search result, compromised upstream repository, or mutable skill release could introduce attacker-controlled instructions or executable components. No e ...[truncated 2026 chars]
Remediation
View remediation
`, and verify the package using a lockfile or expected integrity hash. 2. Configure npm to use a trusted registry and validate the package name, publisher, provenance attestations, and signatures before execution. 3. Maintain an allowlist of approved skill repositories and publishers. Do not install packages from unspecified “other sources.” 4. Resolve skills to immutable commit hashes or signed release artifacts rather than mutable branches or tags. 5. Download each candidate skill into a non-executing staging directory and inspect its instructions, scripts, dependencies, hooks, and metadata before installation. 6. Remove `-y` so that installation requires an explicit confirmation step after the exact source, revision, and requested scope are displayed. 7. Avoid `-g` by default. Prefer project-local installation in an isolated environment with minimum filesystem, network, credential, and command-execution permissions. 8. Require renewed user authorization before installation; consent to searching should not be treated as consent to execute or install a result. 9. Apply updates only after reviewing version changes and integrity information. Do not use an unrestricted bulk-update workflow for security-sensitive skills. 10. Record the approved source, immutable revision, integrity value, reviewer, and installation time to support later auditing and incident response. ]]>
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 (17)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill explicitly instructs the agent to install a package globally with -g and suppress prompts with -y, without requiring a user-facing warning or confirmation. This is dangerous because it authorizes persistent system changes and removes friction that might otherwise catch unsafe or unintended installs, especially in a workflow centered on third-party skill discovery.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The top-level description says the skill should be used whenever users ask broad questions like 'how do I do X' or express interest in extending capabilities, which overlaps with many ordinary requests. Over-broad activation can cause the agent to steer routine conversations into package discovery and installation workflows unnecessarily, increasing exposure to unsafe commands and third-party content.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The 'When to Use This Skill' section contains ambiguous triggers like 'can you do X' and 'I wish I had help with...' without clear boundaries. In context, that ambiguity is dangerous because it can route common help requests into a capability-extension flow that promotes execution and installation of untrusted packages.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The skill repeatedly instructs use of npx skills without pinning a specific package version, which means execution depends on whatever version is currently resolved from the registry at runtime. In a skill-discovery and installation workflow, this increases supply-chain risk because a compromised or malicious upstream release could be fetched and executed implicitly.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

Referencing npx skills without a pinned version allows mutable code to be downloaded and executed at invocation time. Because this skill's purpose is to discover and install additional capabilities, an attacker controlling or poisoning the package source could gain code execution or influence what downstream skills get installed.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

This command example invokes npx skills add through an unpinned package resolver, so the executing code may differ over time and cannot be reliably audited. In a package-install context, that creates a straightforward supply-chain path to install or execute attacker-controlled content.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

Using unpinned npx skills check still executes whatever package version resolves at runtime, even if the command appears read-only. A compromised package version could perform arbitrary actions under the user's privileges before or instead of checking updates.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The unversioned npx skills update instruction is especially risky because it combines mutable CLI execution with mass update behavior. If the CLI or update source is compromised, it could alter multiple installed skills and expand attacker persistence.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The step-by-step guidance normalizes use of npx skills find [query] without a fixed version, which conditions users or agents to execute mutable remote code during ordinary discovery. Because this happens early in the workflow, it can compromise the environment before any trust decision about specific skills is made.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

This example command triggers package execution for a search task using an unpinned resolver. Even benign-seeming search operations become a code-execution surface when delivered through npx without version control.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The PR review example again relies on unpinned npx skills, exposing users to registry-time package substitution or malicious updates. Repetition across examples increases the chance the unsafe pattern is adopted as normal operating practice.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

Using unpinned npx skills find changelog inherits the same mutable-code execution risk as the other search examples. In aggregate, the skill establishes an unsafe default pattern across multiple user workflows.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The generated installation command shown to users is still based on the unpinned npx skills flow, indirectly encouraging execution of mutable installer code. Since the command installs external skills from GitHub or other sources, the lack of pinning compounds supply-chain exposure at both CLI and package levels.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The example response instructs installation through an unpinned npx skills add, which can execute an arbitrary future version of the installer package. In a user-facing recommendation flow, this turns natural-language advice into a direct supply-chain execution vector.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This instruction combines an unpinned npx package execution with actual installation behavior, making compromise of the CLI particularly dangerous. Because the skill tells the agent it can perform the install, the risk is elevated from advisory text to agent-driven code execution on the user's system.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The mention of npx skills init is less directly dangerous than install/update commands but still relies on executing an unpinned package from the network. A malicious or compromised release could abuse the initialization flow to write unsafe files or run arbitrary setup logic.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

This additional npx skills reference repeats the same mutable package execution pattern. Recurrent unpinned usage across the document indicates a systemic supply-chain weakness rather than an isolated example.

Content

No source excerpt is available for this finding.