Back to skill

Security audit

@kanyun/rush-find-skills

Security checks for vulnerabilities and agentic risk

Overview

This skill is openly designed to find and install other agent skills, but it uses unpinned remote package execution and can persistently change agent behavior, so it should be reviewed carefully before use.

Install only if you intentionally want this agent to search a public skill registry and install skills. Prefer a locally reviewed, pinned `reskill` version, avoid global installs unless needed, check the exact skill publisher/version/registry before approving, and do not run npm, npx, or reskill with elevated privileges.

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

Unpinned Third-Party Package and Remote Skill Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 26-31, 95-99, and 305-313
Vulnerability Type: Supply-chain risk caused by mutable dependencies and unverified remote skill artifacts
Risk Level: Medium

Vulnerable Code

SKILL.md, lines 26-31:

bash
npm install -g reskill

If a global installation is not available, npx reskill@latest can be used as a fallback. The agent should check for a global install before falling back to npx.

SKILL.md, lines 95-99:

bash
which reskill

SKILL.md, lines 305-313:

bash
# Install to specific agent(s)
reskill install <name> -y -a <agents...> --registry https://rush.zhenguanyu.com

# Install globally (user-level, available in all projects)
reskill install <name> -y -g --registry https://rush.zhenguanyu.com

Technical Analysis

The Skill instructs the agent to install or execute reskill without pinning it to a reviewed, immutable version. The fallback explicitly uses the mutable reskill@latest tag, while npm install -g reskill also resolves the current package version at installation time. As a result, the package ultimately executed may differ from the version reviewed when this Skill was published.

The Skill additionally installs remote artifacts from a community registry without requiring artifact hashes, signature verification, immutable version identifiers, or a local security review. The -y option suppresses the package manager's interactive confirmation, making conversational user approval the primary approval boundary.

This creates a supply-chain exposure in which compromise of the npm package, its publisher account, the configured registry, a registry publisher account, or a selected skill artifact could cause attacker-controlled content to be installed. The project itself contains no embedded malicious script; the risk originates from mutable and externally controlled dependencies.

A

...[truncated 1563 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin reskill to an exact, reviewed version instead of using @latest or an unspecified version:
    bash
    npx reskill@<reviewed-version>
    npm install -g reskill@<reviewed-version>
    
  2. Verify the npm package through an approved lockfile, package integrity digest, provenance attestation, or trusted internal package mirror.
  3. Require immutable skill versions and verify signed registry metadata or cryptographic artifact hashes before installation.
  4. Display the exact resolved package version, skill version, publisher, source registry, digest, requested installation targets, and security-review status before requesting approval.
  5. Bind user approval to the exact artifact and digest so the approved content cannot change between presentation and installation.
  6. Avoid -y unless explicit prior approval has been obtained for the exact immutable artifact and destination.
  7. Prefer project-local, least-privilege installation over global installation. Do not run npm, npx, or reskill with elevated privileges.
  8. Consider using an allowlisted internal registry containing reviewed and mirrored skill artifacts.
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 (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill advertises activation for broad requests like 'how do I do X' and 'can you do X', which overlap heavily with ordinary assistance prompts. That can cause the skill to trigger unexpectedly and steer the agent toward searching registries and proposing installs even when the user did not clearly ask for package discovery, increasing the chance of unnecessary external lookups and installation workflows.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill instructs the agent to execute npx reskill@latest, which fetches and runs the latest remote package version at execution time. That creates a supply-chain risk because a compromised package, malicious update, or dependency takeover could cause arbitrary code execution in the agent environment.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The usage criteria are ambiguous and expansive, covering general help-seeking and vague interest in extending capabilities. In context, this is more dangerous because the skill can lead from a normal conversation into external registry queries and installation guidance, creating unnecessary exposure to untrusted package ecosystems and making social-engineering-triggered activation easier.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This occurrence again directs the agent to fall back to npx reskill@latest, meaning remote code is downloaded and executed dynamically if a local install is absent. In a skill whose purpose is discovery and installation of more packages, that substantially expands supply-chain exposure and could lead to arbitrary command execution.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The example explicitly tells the agent to substitute npx reskill@latest when reskill is not globally installed. Because npx executes code retrieved at runtime, this permits unreviewed code from the package ecosystem to run in the current environment, making compromise of the package or its dependencies immediately dangerous.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.