T08 · Insecure Dependencies
- Location
README.md:24- Finding
Unpinned Third-Party Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
README.md:24
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumThe installation documentation instructs users to execute an npm package through
npxwithout pinning the package to a reviewed version or verifying its integrity:bash npx skills add tmchow/agent-skills --skill yt-dlp-cliTechnical Analysis
When the
skillspackage is not already installed locally,npxcan retrieve and execute it from the configured npm registry. Because the command does not specify an exact version or integrity hash, the code executed at installation time may differ from the code available when this project was audited.This creates a supply-chain trust boundary outside the audited repository. A compromised maintainer account, malicious future package release, registry compromise, or unsafe registry configuration could cause the command to execute attacker-controlled package lifecycle scripts or CLI code.
The project itself does not contain an embedded malicious payload, and exploitation depends on compromise or substitution of the external package.
Attack Path
- An attacker compromises the npm package, its publisher account, the package distribution channel, or a registry used by the victim.
- The attacker publishes a malicious version that is selected by the unpinned
npx skillsinvocation. - A user follows the installation instructions and runs the documented command.
npxdownloads and executes the attacker-controlled package.- The malicious package runs with the permissions of the invoking user.
Impact Assessment
Successful exploitation could allow arbitrary code execution with the installing user's privileges. Depending on that user's access, the malicious package could read or modify user-accessible files, steal environment credentials, alter development projects, install additional user-level components, or make network req ...[truncated 267 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the installer package to a specific, reviewed version, for example:
bash npx --yes skills@<reviewed-version> add tmchow/agent-skills --skill yt-dlp-cli - Record the dependency in a lockfile where practical and preserve npm integrity metadata.
- Document the expected official package publisher and registry so users can verify the package source before execution.
- Prefer installation workflows that verify package signatures, checksums, or provenance attestations.
- Review and test each pinned update before changing the documented version.
- In CI or other sensitive environments, install dependencies in an isolated, least-privileged environment with restricted credentials and filesystem access.
- Pin the installer package to a specific, reviewed version, for example:
