T08 · Insecure Dependencies
Warning
- Location
- README.md:9
- Finding
- Unpinned npm CLI and Mutable GitHub Source During Installation## 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**: Medium **Vulnerable Code**: ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/compare-pools ``` ### Technical Analysis This installation command relies on two mutable, externally controlled components: 1. `npx skills` does not specify an exact package version, so npm may retrieve and execute a package release that was not covered by this audit. 2. The skill is retrieved from the mutable `main` branch of a personal GitHub repository rather than from a verified commit hash or signed release. Because `npx` can 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 1. An attacker compromises the npm package, package maintainer account, GitHub repository, or repository owner account. 2. The attacker publishes malicious CLI behavior or modifies content under the repository's `main` branch. 3. A user copies and runs the documented installation command. 4. `npx` downloads and executes the current package code, which then obtains content from the mutable remote branch. 5. 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
- ## Remediation Suggestions - Pin the `skills` npm 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.
