T08 · Insecure Dependencies
Warning
- Location
- README.md:29
- Finding
- Unpinned Third-Party Installer and Mutable Repository References## Vulnerability Details **File Location**: `README.md`, lines 29-42 **Vulnerability Type**: Supply-chain risk caused by unpinned installer and repository dependencies **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add tmchow/agent-skills --skill vhs-terminal-recorder ``` ```bash npx skills add tmchow/agent-skills --skill vhs-terminal-recorder --global ``` ```bash hermes skills install tmchow/agent-skills/vhs-terminal-recorder ``` ### Technical Analysis The documented installation commands do not pin the `skills` npm CLI to an exact reviewed version and retrieve the skill through mutable repository references rather than a verified commit or immutable release artifact. Consequently, the software installed or executed when a user follows these instructions can differ from the content reviewed during this audit. This creates a time-of-check/time-of-use supply-chain gap. The audited files contain no evidence that the current dependencies are malicious; the risk arises because a future compromise or unauthorized upstream change could alter the effective installation payload. In particular, `npx` may download and execute a package when it is not already installed locally. Without an explicit version and integrity verification, execution depends on the package currently resolved by the registry. Similarly, repository-based skill installation can resolve to mutable upstream content unless the installer independently enforces immutable revisions. ### Attack Path 1. An attacker compromises the npm package, its publisher account, the source repository, or another relevant upstream distribution channel. 2. The attacker publishes a malicious version of the installer or modifies the repository content resolved by the unpinned reference. 3. A user follows one of the documented installation commands. 4. The package manager or skill installer retrieves the attacker-controlled version instead of the content rev ...[truncated 1016 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm CLI to an exact reviewed version, for example by using an explicit version in the `npx` package specification. 2. Pin repository installations to a verified commit hash or immutable, signed release tag where supported. 3. Prefer release artifacts with published SHA-256 checksums or cryptographic signatures, and document the verification procedure. 4. Use package-manager lockfiles and integrity metadata where installation occurs through a managed project. 5. Avoid recommending global installation by default. Prefer project-scoped installation to limit the blast radius. 6. Document the upstream sources that users should expect the installer to contact and advise users to review material changes before upgrading. 7. If the relevant skill managers do not support immutable references, explicitly disclose that limitation and provide a manual installation workflow tied to a verified commit.
