T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned Global Installation from a Mutable Git Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 10
Vulnerability Type: Unpinned third-party dependency installed globally from a mutable source
Risk Level: Mediumtext 1. Install QMD CLI: bun install -g https://github.com/tobi/qmdTechnical Analysis
The optional setup instructions install QMD globally and directly from a Git repository without pinning an immutable commit, reviewed release tag, package version, or integrity checksum. Consequently, the code installed by this command may change after the Skill has been reviewed.
Package installation can also run dependency lifecycle scripts with the invoking user's privileges. If the upstream repository, its default branch, a transitive dependency, or a maintainer account is compromised, following this instruction could install or execute attacker-controlled code. The global installation flag increases scope by modifying the user's shared Bun environment rather than a project-isolated environment.
The repository URL is clearly disclosed and the installation is described as optional; no evidence establishes that the current upstream project is malicious. The vulnerability is the unsafe, mutable dependency-installation method.
Attack Path
- An attacker compromises the referenced repository, its maintainer account, or a dependency resolved during installation.
- The attacker adds a malicious lifecycle script or modifies the QMD executable on the repository's mutable revision.
- A user follows the documented setup command:
bash bun install -g https://github.com/tobi/qmd - Bun retrieves the modified source and resolves its dependencies without verification against an audit-pinned revision or checksum.
- Malicious installation code may execute with the user's privileges, or the globally installed CLI may execute malicious behavior when subsequently invoked.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of t ...[truncated 531 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin QMD to a reviewed, immutable commit hash or a specific trusted release rather than the repository's mutable default revision.
- Publish and verify a cryptographic checksum or signed release artifact before installation.
- Prefer a versioned package from a trusted registry with lockfile and integrity metadata, provided package ownership has been independently verified.
- Install the dependency in an isolated project environment instead of globally unless global installation is operationally necessary.
- Disable dependency lifecycle scripts during installation where supported, then explicitly enable only scripts that have been reviewed and are required.
- Document the expected repository owner, approved version, verification procedure, and update-review process.
- Review transitive dependencies and regenerate the approved lockfile or integrity record whenever upgrading.
