Back to skill

Security audit

Find Skills Pro

Security checks for vulnerabilities and agentic risk

Overview

This skill is not plainly malicious, but it steers agents toward unpinned third-party skill installs, including global installs that skip confirmation.

Review this skill carefully before installing. Use it only when you explicitly want skill discovery, avoid global installs unless needed, remove `-y` so you can review prompts, and prefer pinned, trusted sources after inspecting the target skill.

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 Third-Party Package Execution and Unreviewed 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 ``` The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts. ``` ### Technical Analysis The skill instructs the agent to invoke the `skills` npm package through `npx` without pinning a reviewed package version or enforcing an integrity constraint. Depending on the local npm configuration and cache state, `npx` may retrieve and execute the current package release from an external registry at runtime. Consequently, the code ultimately executed can differ from the version that existed when this skill was audited. The workflow also permits skills to be installed from “GitHub or other sources.” No source allowlist, commit pin, signature verification, checksum validation, or mandatory content review is specified. The recommended installation command uses `-g`, which installs the selected skill at the user level, and `-y`, which suppresses the CLI confirmation prompt. This combination weakens supply-chain controls and removes a user-review checkpoint immediately before installation. This finding does not establish that the named CLI or any recommended skill is currently malicious. The vulnerability is the unsafe de ...[truncated 2075 chars]
Remediation
View remediation
find ``` - Record and review version changes before updating the pin. 2. **Enforce package integrity** - Use a lockfile and registry integrity metadata where supported. - Verify release signatures or published checksums before execution. - Prefer an internally mirrored or approved registry over unrestricted public resolution. 3. **Restrict installation sources** - Define an explicit allowlist of trusted owners, repositories, and registries. - Require immutable commit hashes or signed release tags rather than mutable branches or unspecified versions. - Do not permit installation from arbitrary “other sources.” 4. **Require pre-installation review** - Download the candidate skill into an isolated temporary directory without activating it. - Review its instruction files, scripts, dependencies, lifecycle hooks, and requested permissions. - Scan for remote payload retrieval, credential access, persistence, command execution, and instruction hijacking. 5. **Remove automatic confirmation bypass** - Do not use `-y` for security-sensitive installation operations. - Display the exact package source, pinned revision, requested scope, and review result before obtaining explicit user approval. 6. **Avoid global installation by default** - Install skills at project scope or in a disposable sandbox unless global availability is explicitly required. - Require separate informed consent before using `-g`. 7. **Apply runtime isolation** - Execute discovery and installation with minimal filesystem, network, credential, and tool access. - Prevent package lifecycle scripts where practical and test newly acquired skills in a sandbox before activation. ]]>
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (17)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill explicitly instructs automatic global installation using -g -y, which both broadens system impact and suppresses confirmation prompts. In combination with third-party skill sourcing, this can lead to persistent system modifications or malicious package installation without an adequate user-facing warning or informed consent step.

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 trigger for broad requests like 'how do I do X' or general interest in extending capabilities. Such loose activation criteria can cause the skill to engage during ordinary conversations and steer users toward package discovery/installation when they did not clearly request software changes, increasing the chance of unnecessary code execution.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The 'when to use' section includes ambiguous triggers such as asking 'can you do X' or merely wishing for help in a domain. In a skill whose primary action is to search for and install external packages, this ambiguity increases the likelihood of over-activation and unsafe escalation from a simple question to recommending executable third-party code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% 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, a future malicious or compromised package release could be fetched and run, exposing users to supply-chain compromise. In this skill, that risk is amplified because the command is positioned as a routine discovery/install mechanism.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

This command reference invokes npx skills without a pinned version, allowing execution of whatever version is current at the time of use. If the upstream package or dependency chain is compromised, users may execute attacker-controlled code simply by following the documented workflow.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill advertises npx skills add <package> without pinning the CLI version, which creates a supply-chain execution risk every time the command is run. Since the skill's purpose is to drive package discovery and installation, it normalizes repeated execution of remote code under mutable versioning.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

Using npx skills check without a pinned version means the user may execute an unintended or malicious future release during update checks. Even seemingly read-only commands still require fetching and running code, so the attack surface remains significant.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The unpinned npx skills update example executes whatever current package version is available, compounding supply-chain risk because it also performs update operations. An attacker controlling the package or a dependency could leverage this to run code in a trusted maintenance workflow.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The search example tells the agent/user to run npx skills find [query] without constraining the version. Because npx dynamically fetches executables, this exposes routine search actions to package substitution or compromised-release attacks.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

This specific example query still relies on an unpinned npx skills invocation, so the same runtime code-fetch risk applies. Because examples are likely to be copied directly, they materially increase the chance that users execute an unsafe latest version.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The PR review example uses npx skills find pr review without pinning, exposing users to arbitrary code execution via a mutable package version. Copy-paste examples are especially risky because they encourage immediate execution with little scrutiny.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The changelog search example is another unpinned npx execution path. The context of a discovery/install skill makes this more dangerous because it trains users to repeatedly fetch and execute transient package code as part of normal operation.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This installation command uses unpinned npx skills and combines it with -g -y, creating a high-risk path where mutable remote code is executed to perform a global install without confirmation. In this context, a compromised package release could immediately make persistent system-level changes with minimal user awareness.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.