T08 · Insecure Dependencies
- Location
README.md:17- Finding
Unpinned npm Tool Executes a Mutable Global Skill Installation
- Content
View full analysis
Vulnerability Details
File Location:
README.md:17
Vulnerability Type:T08: Insecure Dependencies
Risk Level: Mediumbash npx skills add https://github.com/Hey-Salad/risk-management-playbook-skill --skill risk-management-playbook --yes --globalTechnical Analysis
The documented installation command invokes the npm package
skillsthroughnpxwithout specifying an exact package version. It also installs the Skill from a GitHub repository without pinning the source to an immutable commit hash or signed release. Consequently, both the installation tool and installed Skill content can change after this repository has been audited.The
--yesoption suppresses interactive confirmation, while--globalinstalls the result into shared Agent state rather than limiting it to the current project. If the npm package, npm publisher account, GitHub repository, or maintainer account is compromised, a user following this instruction could install unreviewed content globally.No evidence indicates that the currently referenced package or repository is malicious. The finding concerns the unsafe, mutable supply-chain trust model created by the documented command.
Attack Path
- An attacker compromises the npm package, its publisher account, the referenced GitHub repository, or a maintainer account.
- The attacker publishes a malicious package version or modifies the repository's default branch.
- A user executes the command from
README.md. npxresolves and runs the unpinned npm package, which retrieves content from the mutable GitHub source.- The installation proceeds without confirmation because of
--yes. - The altered Skill is installed globally and may subsequently influence every compatible Agent runtime that loads it.
Impact Assessment
A malicious npm installer could potentially execute code with the privileges of the invoking user, subject to the behavior and permissions o ...[truncated 537 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the npm tool to a reviewed exact version, such as
npx skills@<audited-version>. - Pin the GitHub source to an immutable, reviewed commit hash or a signed release rather than its default branch.
- Verify release signatures or published checksums before installation.
- Remove
--yeswhere practical so users can review the requested operation. - Prefer project-local installation. Use
--globalonly when explicitly required and document the expanded trust scope. - Perform installation inside a sandbox with minimal filesystem, credential, and network access.
- Periodically re-audit pinned versions before updating them.
- Pin the npm tool to a reviewed exact version, such as
