Back to skill

Security audit

Find Skill HEQI

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent but sends users toward unpinned external CLI execution and persistent global skill installation with skipped confirmations.

Review this before installing. It is not evidence of malware, but it encourages running mutable external package-manager code and installing discovered skills globally. Prefer a pinned, trusted CLI version, inspect the target skill source first, avoid `-g` unless global scope is needed, and do not use `-y` unless you have already reviewed exactly what will be installed.

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

Unpinned Third-Party 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 ``` ```bash npx skills find [query] ``` ```markdown Install with npx skills add vercel-labs/agent-skills@vercel-react-best-practices └ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices ``` ```bash npx skills add -g -y ``` ### Technical Analysis The skill instructs the Agent to invoke `npx skills` without pinning the npm package to a reviewed version or verifying its package integrity. An unpinned `npx` invocation may dynamically resolve and execute package content obtained from the npm registry. The workflow also permits skills to be installed from GitHub or other external sources. It does not require verification of the repository owner, immutable commit, release signature, package checksum, source code, or installation scripts. Search results are consequently treated as potential installation candidates without an established trust boundary. The suggested installation command uses both `-g` and `-y`. The `-g` option creates a user-level global installation that can affect subsequent Agent sessions, while `-y` suppresses confirmation prompts. This combination increases supply-chain risk by allowing an unreviewed third-party component to be installed persistently without an immediate interactive security decision. This finding does not establish that the referenced CLI or example skill is malicious. The vulnerability is the unsafe dependency acquisition and installation process, which exposes the Agent environment to registry c ...[truncated 1887 chars]
Remediation
View remediation
find ``` 2. Verify the pinned npm package through an approved lockfile, registry policy, package signature, or integrity hash. Re-review it before changing the pinned version. 3. Restrict installation sources to an explicit allowlist of reviewed publishers and repositories. 4. Pin GitHub-hosted skills to immutable commit hashes or cryptographically verified releases rather than mutable branches or tags. 5. Require source review before installation, including inspection of package manifests, lifecycle scripts, executable files, tool permissions, and skill instructions. 6. Remove `-y` from the default workflow and require explicit user confirmation immediately before installation. The confirmation should display the exact source, version or commit, requested scope, and relevant security warning. 7. Avoid global installation by default. Install each skill in an isolated project directory, sandbox, container, or other least-privileged environment. 8. Disable package lifecycle scripts during initial inspection where supported, and only enable them after review. 9. Clearly state that search results and third-party skills are untrusted external content and must not be installed solely because they appear in search results. 10. Document an uninstall and incident-response procedure for removing globally installed skills, reviewing affected configuration, and rotating credentials potentially exposed to a malicious installation. ]]>
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)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The activation guidance uses very broad, everyday phrases such as 'how do I do X' and 'can you do X', which can cause the skill to trigger in many benign conversations. Because this skill can lead into package discovery and installation workflows, accidental activation increases the chance that users are steered toward executing external code when they only wanted general advice.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill repeatedly directs use of npx skills without pinning a specific package version, which causes code to be fetched and executed from the registry at runtime. That creates a supply-chain risk: a compromised upstream package, typo-squat, or breaking update could lead to arbitrary code execution on the user's machine during discovery or installation flows.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This command reference invokes npx skills without a pinned version, so the executed code is whatever the registry currently serves. In a skill whose purpose is to discover and install more code, unpinned runtime package execution amplifies the chance of supply-chain compromise and unexpected behavior.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Using an unpinned npx skills add command allows the package manager code itself to vary over time and be replaced upstream, enabling arbitrary code execution before any target skill is even installed. Because this command is about installing third-party skills, the trust boundary is already broad, making an unpinned bootstrap tool especially risky.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The update-check command still relies on unpinned npx skills, which means even a seemingly read-only operation can execute arbitrary updated package code from the registry. Although check may be less directly system-modifying than install, the package execution risk remains.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Running npx skills update without pinning the CLI version compounds two risks: execution of unpinned package-manager code and mass update of installed skills. A malicious or compromised upstream release could abuse the update path to change many local components at once.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The search step instructs direct execution of npx skills find [query] with no version pinning, exposing users to arbitrary code execution from the registry during normal use. Since this skill encourages frequent searches based on natural-language requests, the risky command is likely to be run often.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This example query again uses unpinned npx skills, meaning the CLI code is not stable or authenticated beyond registry resolution. Frequent copy-pastable examples increase the likelihood that users execute the unsafe pattern verbatim.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The PR review example repeats the same unpinned runtime package execution issue. In aggregate, these examples normalize unsafe supply-chain practices and make the skill materially more dangerous because they are central to its primary workflow.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The changelog search example is another instance of executing unpinned registry-hosted code via npx. Even if the query is benign, the code path being run is remote and mutable, so the risk is unrelated to the user's requested task.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The displayed install instruction returned by the CLI is also unpinned and encourages users to run mutable package-manager code directly. Although this line represents output format, including it in the skill still reinforces an unsafe operational pattern.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The example response tells users to install a skill using npx skills add ... without pinning the CLI, combining social proof with a copy-pastable vulnerable command. This is especially risky because users may trust assistant-generated install steps and execute them without additional scrutiny.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill recommends npx skills add <owner/repo@skill> -g -y, where -g modifies the user's environment globally and -y suppresses confirmation, but it provides no clear warning about the system-modifying action. This weakens informed consent and makes it easier for an agent or user to perform risky installation actions without adequate review.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

This line instructs direct installation through unpinned npx and adds flags that automate the operation, increasing the speed and likelihood of unsafe execution. Because it installs a skill globally, successful exploitation could affect future sessions and broaden persistence on the host.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The guidance to create a new skill with npx skills init still executes unpinned package code from the registry. Even initialization commands can run arbitrary install-time logic, so the supply-chain risk remains significant.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This final npx skills reference repeats the same unpinned bootstrap issue in a context where users are encouraged to create and extend tooling. The skill's overall theme of discovering and installing additional code makes any unpinned execution path more dangerous than in a purely informational document.

Content

No source excerpt is available for this finding.