Back to skill

Security audit

Find Skills 0.1.0

Security checks for vulnerabilities and agentic risk

Overview

This skill is not deceptive, but it encourages broad, global installation of third-party skills using unpinned package-manager commands.

Only install this after reviewing the specific skill source and publisher. Prefer explicit, user-confirmed, local installs; avoid `-g -y`; pin or verify the CLI and skill version before running commands. Treat search results as untrusted until inspected.

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 (2)

T08 · Insecure Dependencies

Error
Location
SKILL.md:23
Finding

Unpinned Third-Party CLI Download and Execution via npx

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 ``` ### Technical Analysis The skill instructs the agent to invoke the `skills` npm package through `npx` without specifying an exact package version or integrity value. If the package is not already available in the local npm cache, `npx` can retrieve and execute it from the configured npm registry. Because the effective CLI implementation is external and unpinned, it can change after this skill has been reviewed. The skill does not require verification of the package publisher, resolved version, cryptographic integrity, or package contents before execution. It also does not require lifecycle scripts to be disabled. This creates a supply-chain execution risk if the upstream package or publisher is compromised, the registry configuration is redirected, or dependency resolution returns a malicious package version. ### Attack Path 1. An attacker compromises the upstream `skills` package, its publisher account, or a registry used by the environment. 2. The attacker publishes or serves a malicious version under the package name resolved by `npx skills`. 3. A user request activates this skill and causes the agent to execute `npx skills find`, `add`, `check`, or `update`. 4. `npx` downloads the unresolved or latest available package version. 5. Malicious package lifecycle logic or CLI code executes with the operating ...[truncated 612 chars]
Remediation
View remediation
find ``` 2. Verify the resolved package name, publisher, version, and registry before execution. 3. Use npm lockfiles and integrity hashes where the deployment model supports them. 4. Prefer a preinstalled, administrator-reviewed CLI over downloading executable code during skill invocation. 5. Disable package lifecycle scripts where feasible, such as by using an installation workflow with `--ignore-scripts`. 6. Require explicit user approval before downloading or executing the CLI for the first time. 7. Execute the CLI in a sandbox with restricted filesystem, credential, and network access. 8. Periodically review pinned versions before upgrading rather than automatically accepting the latest release. ]]>

T08 · Insecure Dependencies

Error
Location
SKILL.md:89
Finding

Unattended Global Installation of Unverified Third-Party Skills

Content
View full analysis
-g -y ``` The `-g` flag installs globally (user-level) and `-y` skips confirmation prompts. ``` ### Technical Analysis The documented installation command combines three unsafe characteristics: - The installed skill is identified through a variable third-party repository reference. - The `-g` option installs it globally at the user level, increasing its availability beyond the current project or task. - The `-y` option suppresses confirmation prompts that could otherwise provide a final review boundary. The surrounding documentation permits installation from GitHub or other sources but does not require an allowlist, immutable commit pin, signature validation, source-code review, or post-download inspection. Search results therefore become a supply-chain trust boundary. Although the workflow says installation should occur after the user wants to proceed, confirmation of installation is not equivalent to verification that the selected repository and its contents are trustworthy. ### Attack Path 1. An attacker publishes a malicious skill with a name or description matching a commonly searched capability, or compromises a repository for an existing skill. 2. The external skill search returns the attacker-controlled repository as a relevant result. 3. The agent presents that result to the user without independently verifying its publisher, commit, or contents. 4. After the user agrees to installation, the agent runs: ```bash npx skills add -g -y ``` 5. The malicious skill is installed globally for the user without an interactive confirmation step. 6. If the installed component contains executab ...[truncated 829 chars]
Remediation
View remediation
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 (16)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill instructs unattended global installation with -g -y but provides no warning about trust, privilege, persistence, or system-wide impact. This is dangerous because it encourages installing third-party code non-interactively into a user-level/global environment, increasing the blast radius of malicious or compromised skills and reducing opportunities for users to notice risky prompts.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation guidance is overly broad, matching ordinary requests like 'how do I do X' or 'can you do X'. That can cause this skill to trigger in many benign conversations and steer the agent toward searching for and installing third-party skills when the user did not explicitly ask for code installation or ecosystem expansion.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The skill repeatedly instructs use of npx skills without pinning a specific package version. Because npx resolves and executes the latest available package by default, a compromised upstream package, typosquatted replacement, or breaking update could cause arbitrary code execution in the user's environment.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This reference to npx skills is an unpinned remote execution path. Users following the skill may execute whatever version is currently served, which expands supply-chain risk and makes behavior non-reproducible and potentially unsafe.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The command example uses npx to run an external CLI without version pinning. That can lead to execution of malicious or unexpected code if the package is hijacked, updated unsafely, or resolved from an untrusted source.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

An unpinned npx skills invocation exposes users to supply-chain compromise and silent behavior changes. In a skill whose purpose is discovering and installing more code, this risk compounds because it bootstraps further untrusted installs.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

This command reference executes a remote package without any version constraint. If exploited, an attacker could gain code execution during update operations and potentially affect the agent or user environment.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

The search step tells the agent/user to run npx skills find [query] without pinning the CLI version. This is dangerous because even a seemingly read-only search command still requires executing untrusted package code first.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The install instruction npx skills add <package> again relies on unpinned npx execution. This creates two layers of trust exposure: the CLI itself and the package being installed through it.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

This example install command is unpinned and may lead users to execute arbitrary code from a current package version they did not review. The example normalizes insecure operational behavior in a high-trust context.

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
89% confidence
Finding

The example response includes npx skills add ... without pinning the CLI. Because the skill is designed to persuade users to install discovered packages, embedding insecure install commands directly in suggested responses increases the chance of unsafe execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The skill explicitly recommends npx skills add <owner/repo@skill> -g -y, still using unpinned npx. In context, this is more dangerous than earlier references because it combines remote code execution with unattended installation behavior.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
84% confidence
Finding

The suggestion to use npx skills init remains an unpinned package execution path. Although lower risk than install flows, it still relies on running a remote package that could be compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

This occurrence continues the pattern of normalizing unpinned npx skills usage. Repetition across the document makes the insecure practice core to the skill's workflow rather than incidental.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The final command example still uses unpinned npx, leaving users vulnerable to supply-chain attacks or unexpected code execution. In a discovery/install skill, this context makes the issue more dangerous because the skill directly channels users into running package-manager commands.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.