T08 · Insecure Dependencies
Warning
- Location
- README.md:17
- Finding
- Unpinned npm Tool Executes a Mutable Global Skill Installation## Vulnerability Details **File Location**: `README.md:17` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ```bash npx skills add https://github.com/Hey-Salad/risk-management-playbook-skill --skill risk-management-playbook --yes --global ``` ### Technical Analysis The documented installation command invokes the npm package `skills` through `npx` without 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 `--yes` option suppresses interactive confirmation, while `--global` installs 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 1. An attacker compromises the npm package, its publisher account, the referenced GitHub repository, or a maintainer account. 2. The attacker publishes a malicious package version or modifies the repository's default branch. 3. A user executes the command from `README.md`. 4. `npx` resolves and runs the unpinned npm package, which retrieves content from the mutable GitHub source. 5. The installation proceeds without confirmation because of `--yes`. 6. 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
- ## 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 `--yes` where practical so users can review the requested operation. - Prefer project-local installation. Use `--global` only 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.
