T08 · Insecure Dependencies
- Location
SKILL.md:25- Finding
Unpinned Package Execution and Unattended Global Skill Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:25-29, 49, 77-81; duplicated inreferences/DOC.md:25-29, 49, 77-81
Vulnerability Type: Supply-chain exposure through unpinned package execution and unverified installation sources
Risk Level: MediumVulnerable code snippets:
bash npx skills find [query] npx skills add <package> npx skills check npx skills updatebash npx skills find [query]bash npx skills add <owner/repo@skill> -g -yTechnical Analysis
The documented workflow invokes
npx skillswithout specifying a fixed package version or integrity value. Depending on the local npm environment,npxmay retrieve and execute the currently published package from a remote registry. Consequently, the code that executes can change after this skill has been reviewed.The workflow also allows packages discovered through external search results to be installed without requiring an immutable revision or a trusted-publisher allowlist. The recommended
-g -yoptions install the selected skill at user scope and suppress confirmation prompts. This increases the impact of a malicious, compromised, typo-squatted, or subsequently modified package or skill repository.This finding is classified as an insecure dependency issue rather than confirmed malicious behavior. The reviewed files do not demonstrate that the Skills CLI or any suggested repository is currently malicious.
Attack Path
- An attacker publishes a typo-squatted package or skill, compromises a legitimate registry package or repository, or causes a malicious result to appear in skill-search output.
- The agent follows the documented workflow and executes the unpinned
npx skillscommand. npxretrieves and runs the package version available from the configured registry at execution time.- The agent selects an unverified search result and executes
npx skills addwith-g -y. - At ...[truncated 1097 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the Skills CLI to a reviewed version, for example by invoking an explicitly approved version rather than the mutable latest release.
- Enforce package-lock or equivalent integrity verification where supported, and validate registry package signatures or checksums.
- Restrict installation sources to an allowlist of reviewed publishers and repositories.
- Pin installed skills to immutable commit hashes or signed release artifacts rather than mutable branches or tags.
- Download and inspect each skill's manifest, scripts, lifecycle hooks, and referenced resources before installation.
- Remove
-yso that the exact package source, version, destination, and requested behavior are shown for explicit approval. - Avoid
-gby default. Install into an isolated project directory or sandbox with minimal filesystem and network permissions. - Run package discovery separately from installation and require informed user authorization before any state-changing command.
- Apply the same changes to both
SKILL.mdand its duplicate atreferences/DOC.mdto prevent inconsistent guidance.
