T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Global Dependency Installation from a Mutable GitHub Repository## Vulnerability Details **File Location**: `SKILL.md`, lines 10–12 **Vulnerability Type**: Supply-chain risk caused by an unpinned remote dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ## Installation ```bash bun install -g https://github.com/tobi/qmd ``` ``` The dependency requirement is also documented in `SKILL.md` line 3: ```yaml description: Search and retrieve markdown documents from local knowledge bases using qmd. Supports BM25 keyword search, vector semantic search, and hybrid search with LLM re-ranking. Use for querying indexed notes, documentation, meeting transcripts, and any markdown-based knowledge. Requires qmd CLI installed (bun install -g https://github.com/tobi/qmd). ``` ### Technical Analysis The installation command references a mutable GitHub repository without specifying a reviewed release tag, immutable commit hash, package version, or integrity digest. Consequently, the code installed by this instruction can change after the Skill has been reviewed. Installing the package globally increases the potential impact because the resulting executable becomes available across the user's environment. If the upstream repository, maintainer account, dependency chain, or repository configuration is compromised, altered package code or installation hooks may execute with the privileges of the user running `bun install`. The repository is not proven malicious by the audited files. The vulnerability is the absence of dependency pinning and integrity controls, which creates an exploitable supply-chain trust boundary. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or a dependency used by the remote package. 2. The attacker introduces malicious package code or an installation lifecycle hook into the repository revision resolved by the unpinned URL. 3. A user follows the Skill's documented command: `bun install -g https://github.com/tob ...[truncated 1011 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to a reviewed immutable commit hash or a cryptographically verified release rather than the repository's changing default revision. 2. Prefer a trusted package registry release with an explicit version and integrity metadata. 3. Use a lockfile and verify checksums or signatures before installation. 4. Avoid global installation where possible. Install the dependency in a dedicated project, sandbox, container, or isolated user environment with minimal permissions. 5. Review package lifecycle scripts and transitive dependencies before approving upgrades. 6. Establish a controlled update process in which new revisions are audited and tested before changing the pinned version. 7. Document the expected publisher, repository, version, commit hash, and integrity value so users can verify the downloaded artifact.
