T08 · Insecure Dependencies
- Location
README.md:22- Finding
Unpinned Third-Party Package Is Executed During Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md, line 22
Vulnerability Type: Unpinned executable dependency and supply-chain risk
Risk Level: MediumVulnerable Code
sh npx skills add AntreasAntoniou/ml-run-provenance --skill ml-run-provenanceTechnical Analysis
The documented installation command invokes the third-party
skillsnpm package throughnpxwithout specifying an exact package version or verifying an integrity hash. Depending on the local npm configuration and cache state,npxcan retrieve and execute the currently resolved package release.Consequently, the code executed during installation is not limited to the contents of this audited repository and can change after this repository has been reviewed. The repository does not contain, pin, or otherwise constrain the implementation of the
skillsexecutable.This creates a supply-chain exposure: compromise of the npm package, its publisher account, its dependency graph, or the package resolution source could cause users following the documented command to execute attacker-controlled code.
Attack Path
- An attacker compromises the resolved
skillsnpm package, its publisher account, or one of its install-time dependencies. - The attacker publishes a malicious release that remains compatible with the documented command.
- A user follows the installation instructions and runs the unpinned
npx skills add ...command. npxresolves and downloads the malicious package version.- The downloaded package executes with the privileges and environment of the installing user.
- The malicious package could access files and credentials available to that user, modify the installed Skill, or install additional attacker-controlled content.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the permissions of the user performing the installation. The accessible scope may include th ...[truncated 484 chars]
- An attacker compromises the resolved
- Remediation
View remediation
Remediation Suggestions
- Pin the installer to an exact reviewed version, for example by using an explicit
package-name@x.y.zreference supported bynpx. - Document the expected npm publisher, registry, package identity, and reviewed version so users can verify package provenance.
- Use npm lockfile and integrity metadata where the installation workflow supports them.
- Prefer a non-executing installation path based on a reviewed, commit-pinned Git checkout or signed release archive.
- Provide checksum or signature verification instructions for release artifacts.
- Advise users not to run the installer with administrator privileges and to execute it in a restricted environment where practical.
- Periodically review the pinned installer and its transitive dependencies before updating the documented version.
- Pin the installer to an exact reviewed version, for example by using an explicit
