T08 · Insecure Dependencies
- Location
SKILL.md:23- Finding
Unpinned Third-Party CLI Enables Unsafe Supply-Chain Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:23-29
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumComplete Code Snippet:
markdown **Key commands:** - `npx skills find [query]` - Search for skills interactively or by keyword - `npx skills add <package>` - Install a skill from GitHub or other sources - `npx skills check` - Check for skill updates - `npx skills update` - Update all installed skillsTechnical Analysis
The skill directs the agent to invoke the
skillspackage throughnpxwithout specifying an immutable package version or verifying package integrity. If the package is not already present in the local cache,npxmay retrieve it from the configured npm registry and execute it. Consequently, the code executed at invocation time can differ from the code that existed when this skill was audited.The documented
addandupdateoperations also accept mutable content from GitHub or unspecified “other sources.” Popularity indicators such as install counts and GitHub stars do not provide cryptographic integrity, source authenticity, or protection against a legitimate upstream account being compromised.Attack Path
- An attacker compromises the upstream
skillsnpm package, its publisher account, a configured package registry, or a skill source accepted by the CLI. - The attacker publishes a malicious version or replaces mutable upstream skill content.
- A user asks the agent to discover, install, or update a skill.
- Following
SKILL.md, the agent executes an unversionednpx skillscommand. npxretrieves and runs the current upstream package, or the CLI retrieves the compromised skill.- Attacker-controlled installation logic or skill instructions execute within the permissions of the invoking user.
Impact Assessment
Exploitation could obtain the privileges of the user running the agent or CLI. Depending on the be ...[truncated 391 chars]
- An attacker compromises the upstream
- Remediation
View remediation
Remediation Suggestions
- Pin the CLI to an explicitly reviewed version, such as
npx skills@<approved-version>, rather than resolving the latest mutable release. - Lock installed skills to immutable release identifiers or reviewed commit hashes.
- Restrict installation sources to an explicit allowlist of trusted repositories and owners; remove support for unspecified sources.
- Verify package integrity, provenance, and signatures where the ecosystem supports them.
- Download and inspect skill contents before installation, including scripts, hooks, dependencies, and instruction files.
- Separate search from installation so discovery never implicitly authorizes execution.
- Require explicit user approval for every installation and update.
- Run package discovery and inspection in a sandbox with minimal filesystem, credential, and network access.
- Pin the CLI to an explicitly reviewed version, such as
