Back to skill

Security audit

Find Skills Cn

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it says, but it can run unpinned package-manager commands and globally install third-party skills with confirmation skipped.

Install only if you are comfortable with an agent using the Skills CLI to search for and install third-party skills. Before running any command from it, verify the CLI package and selected skill source, prefer pinned versions or immutable references, avoid `-g -y` unless you intentionally want a global non-interactive install, and inspect candidate skills before trusting them.

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 Unreviewed Global Third-Party 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 ``` ```bash npx skills find [query] ``` ```markdown 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 instructs the agent to invoke `npx skills` without specifying an exact, reviewed package version or integrity constraint. Depending on the local npm configuration and cache state, `npx` can resolve and retrieve executable package content at runtime. Consequently, the code that executes may differ from the code that was available when this skill was audited. The workflow then allows installation from “GitHub or other sources.” It does not require source allowlisting, immutable commit references, signature verification, integrity validation, or inspection of the selected skill before installation. The recommended installation command combines global user-level installation (`-g`) with automatic confirmation (`-y`), reducing opportunities to review the source and scope before it is trusted. This is a supply-chain weakness rather than evidence that the currently documented CLI or example package is malicious. Exploitation requires ...[truncated 1684 chars]
Remediation
View remediation
find ``` - Use the verified package name for the intended CLI. - Record and validate the package integrity hash through a lockfile or equivalent mechanism. 2. **Do not suppress installation approval** - Remove `-y` from installation commands. - Require explicit, informed user confirmation after displaying the source, version, requested scope, and review results. 3. **Avoid global installation by default** - Remove `-g` and install skills within an isolated project or sandbox. - Permit user-level global installation only when it is necessary and explicitly approved. 4. **Constrain third-party sources** - Maintain an allowlist of trusted owners and repositories. - Pin GitHub sources to immutable commit hashes rather than mutable branches or tags. - Reject ambiguous package names and sources that cannot provide verifiable provenance. 5. **Review before installation** - Download the candidate without executing it. - Inspect its instruction files, scripts, dependency manifests, lifecycle hooks, network behavior, and requested capabilities. - Run malware, secret, and dependency scans before allowing installation. 6. **Isolate execution** - Perform discovery and installation in a restricted environment with minimal filesystem access, sanitized environment variables, limited credentials, and controlled network access. - Prevent installation processes from accessing unrelated repositories, SSH keys, cloud credentials, and agent memory. 7. **Secure update behavior** - Do not apply unrestricted bulk updates through `npx skills update`. - Review version changes and source diffs, then update to explicitly approved versions. ]]>
Vulnerability Patterns
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (17)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The metadata description uses very broad trigger phrases such as 'how do I do X' and 'can you do X', which overlap with ordinary user requests. In an agent-routing system, that can cause this skill to activate in many unrelated contexts and steer the agent toward searching for and installing third-party skills when the user only wanted direct assistance.

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 broadens activation to generic requests for help, specialized capability questions, and vague interest in extending capabilities, without clear guardrails. That increases the chance of unintended invocation and unnecessary exposure to package discovery/install flows, which is more dangerous here because the skill recommends executing external package-manager commands.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The skill repeatedly instructs the agent or user to run npx skills without pinning a specific package version or immutable source. Because npx resolves the latest published package at execution time, a compromised upstream package, typo-squat, or malicious update could cause arbitrary code execution during search, install, update, or check operations.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This command reference uses npx skills without version pinning, which makes execution dependent on whatever package version is current at runtime. That creates a software supply-chain risk where a malicious or compromised package release could execute attacker-controlled code on the host.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

An unpinned npx skills command allows retrieval and execution of a package version not fixed by the skill author. If the package publisher account or dependency chain is compromised, the skill can direct users or agents to run hostile code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This npx skills invocation is another supply-chain entry point because it relies on the latest package resolution at run time. In an agent context, that is especially risky because the instruction may be followed automatically, turning a documentation example into code execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

Referencing npx skills without a pinned version exposes the environment to arbitrary upstream package changes. The risk is not limited to install commands; even discovery and update commands can trigger remote package download and execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The skill instructs execution of npx skills find [query] without version pinning, introducing a supply-chain execution risk. Because the skill's purpose is to discover and install additional capabilities, this broadens the blast radius by normalizing repeated execution of an untrusted external CLI.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This example command shows unpinned npx skills, so the actual code run may change over time outside the skill maintainer's control. That creates a persistent risk of malicious updates or account compromise leading to arbitrary code execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

Another unpinned npx skills example appears in a context likely to be copied verbatim by users or agents. That increases practical exploitability because package execution is one step away from a natural-language recommendation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This reference encourages runtime retrieval of the latest skills package with no integrity constraints. If exploited, an attacker could gain code execution in the agent or user environment and potentially pivot to further skill installations.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The install command example still relies on unpinned npx skills, which means the installer itself is mutable and untrusted at execution time. Combining package-manager execution with installation of further third-party content compounds the supply-chain risk.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

This line offers to install a skill using npx skills add <owner/repo@skill> -g -y, but the npx package itself is unpinned and fetched at runtime. In addition to the upstream CLI supply-chain risk, the command installs software globally and non-interactively, which can immediately modify the host environment if a compromised CLI or malicious package is selected.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs use of a global, non-interactive installation command (-g -y) without warning that it modifies the user's environment. This removes an important consent checkpoint and can cause persistent system changes or installation of malicious skills if the selected package or CLI is compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This example again promotes unpinned execution of npx skills, which leaves the executed code subject to future upstream changes. Because users may copy commands from examples directly, the documentation itself becomes a delivery channel for supply-chain compromise.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The recommendation to use npx skills init also executes an unpinned external package. Even though this is framed as a fallback workflow, it still grants arbitrary code execution to the latest published package version at run time.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This final npx skills reference has the same underlying issue: execution of a mutable remote package without integrity or version controls. In aggregate, the repetition across the skill normalizes unsafe package execution and increases the chance an agent will perform it automatically.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.