T08 · Insecure Dependencies
- Location
README.md:24- Finding
Unpinned npm CLI Execution Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
README.md:24-28
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
markdown ## Get started ```bash npx skills add AntreasAntoniou/gcp-keylesstext ### Technical Analysis The documented installation command invokes `npx skills` without specifying an exact package version or verifying package integrity. If the package is not already installed locally, `npx` can retrieve and execute the package currently published under that name. Consequently, the executable installer is not cryptographically tied to the version reviewed in this audit. Compromise of the npm publisher account, registry package, or a future malicious release could cause the command to execute code different from the audited repository. The GitHub repository argument does not constrain the implementation of the `skills` npm CLI itself. ### Attack Path 1. An attacker compromises the npm package or its publisher account, or publishes a malicious future version through another applicable supply-chain failure. 2. The attacker adds malicious behavior to the CLI or its installation lifecycle. 3. A user follows the README and runs the unversioned `npx skills add ...` command. 4. `npx` retrieves the current package version and executes it. 5. The malicious package runs with the operating-system privileges and environment access of the user performing the installation. ### Impact Assessment Successful exploitation could permit arbitrary local code execution under the installing user's account. Depending on that account's permissions and environment, exposed resources could include repository contents, environment variables, local credentials, SSH configuration, cloud CLI credentials, and writable user files. The project itself does not demonstrate exploitation of this path; the risk arises from the unpinned executable dependency.- Remediation
View remediation
Remediation Suggestions
- Pin the installer to a specifically reviewed version, such as
npx skills@<exact-version>, rather than resolving the latest release. - Publish and document the expected npm package publisher, package provenance, and verified release version.
- Use npm provenance attestations and integrity verification where available.
- Prefer a locked installation process with a committed lockfile when the surrounding installation environment supports it.
- In higher-assurance environments, download and verify a known release artifact before executing the installer.
- Establish a release process that reviews both the repository content and the exact installer version referenced by the documentation.
- Pin the installer to a specifically reviewed version, such as
