T08 · Insecure Dependencies
Warning
- Location
- README.md:17
- Finding
- Unpinned Third-Party Installer and Mutable Skill Source## Vulnerability Details **File Location**: `README.md:17-25` **Vulnerability Type**: Unpinned third-party package execution and mutable remote dependency **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add anivar/msw-skill -g ``` Or with full URL: ```bash npx skills add https://github.com/anivar/msw-skill ``` ### Technical Analysis The documented installation procedure invokes the `skills` npm package through `npx` without specifying an audited version. It also retrieves the Skill from a mutable repository reference rather than a verified commit SHA or immutable release artifact. `npx` may download and execute the currently published version of the named package. Consequently, the code executed at installation time may differ from the version reviewed during this audit. Likewise, the GitHub repository reference can resolve to newer content after review. This creates a supply-chain trust gap: compromise of the npm package, package-maintainer account, GitHub repository, or repository-maintainer account could replace the installer or Skill content with a malicious version. Global installation through `-g` further increases the persistence and scope of installed content. The audited artifact itself contains no malicious scripts, encoded payloads, persistence mechanisms, SSH-key operations, credential harvesting, or unauthorized external transmission. The risk arises from the mutable installation chain documented in the README. ### Attack Path 1. An attacker compromises the npm account that publishes the `skills` package, the package itself, the GitHub repository, or a maintainer account. 2. The attacker publishes a malicious package version or modifies the repository's default branch. 3. A user copies one of the documented installation commands. 4. `npx` resolves and executes the current, unpinned installer package. 5. The installer retrieves the current mutable repository content instead of the audited revision. 6. Malicious installer cod ...[truncated 844 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the installer package to a reviewed version: ```bash npx skills@<verified-version> add anivar/msw-skill ``` 2. Pin the Skill source to a verified commit SHA or immutable, signed release rather than the repository's mutable default branch. 3. Publish and verify integrity hashes or signed provenance for release artifacts. 4. Avoid global installation by default. Prefer project-local installation to limit the scope of compromised content. 5. Document how users can inspect the resolved npm package and Skill contents before execution. 6. Use npm provenance, lockfiles where supported, protected release workflows, multi-factor authentication, and restricted publishing tokens. 7. Warn users not to run the installation command with administrative privileges.
