T08 · Insecure Dependencies
- Location
README.md:9- Finding
Unpinned npm CLI and Mutable GitHub Source During Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 9
Vulnerability Type: Supply-chain risk caused by unpinned executable tooling and a mutable remote source
Risk Level: MediumVulnerable Code:
bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/compare-poolsTechnical Analysis
This installation command relies on two mutable, externally controlled components:
npx skillsdoes not specify an exact package version, so npm may retrieve and execute a package release that was not covered by this audit.- The skill is retrieved from the mutable
mainbranch of a personal GitHub repository rather than from a verified commit hash or signed release.
Because
npxcan download and execute package code, compromise of the npm package, its maintainer account, the GitHub account, or the repository could change the effective installation behavior after review. No malicious payload was present in the audited Markdown files; this finding concerns the unsafe trust and version-pinning model.Attack Path
- An attacker compromises the npm package, package maintainer account, GitHub repository, or repository owner account.
- The attacker publishes malicious CLI behavior or modifies content under the repository's
mainbranch. - A user copies and runs the documented installation command.
npxdownloads and executes the current package code, which then obtains content from the mutable remote branch.- The compromised component executes malicious installation logic or installs altered skill instructions with the invoking user's permissions.
Impact Assessment
Successful exploitation could permit arbitrary actions within the privileges of the user running
npx, including reading or modifying user-accessible files, accessing environment variables or credentials available to the process, making network requests, or installing manipulated agent instructions ...[truncated 114 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsnpm package to an exact, audited version rather than relying on implicit resolution. - Replace the mutable GitHub branch URL with a URL referencing a verified commit hash or immutable signed release.
- Publish and verify cryptographic checksums or signatures for the installed skill content.
- Review package lifecycle scripts and installer behavior before execution.
- Prefer a lockfile-backed installation process or a trusted internal registry where feasible.
- Document the expected repository commit and package integrity value so users can verify both before installation.
- Pin the
