T08 · Insecure Dependencies
- Location
SKILL.md:56- Finding
Unpinned Global Installation from a Mutable Git Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 56–66
Vulnerability Type:T08: Insecure Dependencies
Risk Level: Mediumbash ## Setup (if qmd not installed) ```bash # Install qmd bun install -g https://github.com/tobi/qmd # Add a collection (e.g., Obsidian vault) qmd collection add ~/path/to/vault --name notes # Generate embeddings for vector search qmd embed --collection notestext ### Technical Analysis The installation instruction retrieves a third-party dependency directly from a mutable Git repository without specifying an immutable commit, verified release version, or integrity checksum: ```bash bun install -g https://github.com/tobi/qmdBecause the repository reference is unpinned, the code installed by this command may differ from the code that was originally reviewed. If the upstream repository, maintainer account, or release process is compromised, an attacker could introduce malicious package code or installation lifecycle behavior. The use of global installation increases the potential scope by placing the resulting command in the user's global executable environment.
The project itself does not contain malicious executable code, and exploitation depends on an upstream supply-chain compromise or an unauthorized change to the referenced repository.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, or another part of its publishing workflow.
- The attacker modifies the package or its installation lifecycle behavior to execute malicious code.
- A user or agent follows the setup instructions and runs the unpinned global installation command.
- Bun retrieves the repository's current mutable state rather than a previously reviewed immutable revision.
- Malicious installation code executes with the privileges of the invoking user.
- The attacker-controlled package is installed as a globally available command and m ...[truncated 541 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed immutable commit hash or a specific trusted release rather than installing from the repository's mutable default branch.
- Prefer an official package registry release with a lockfile and integrity metadata, where available.
- Verify downloaded source or release artifacts using a documented cryptographic checksum or signature.
- Avoid global installation where possible. Install the dependency in an isolated project environment or controlled tool directory with minimum required privileges.
- Review package installation scripts and transitive dependencies before approving installation.
- Document the expected upstream repository owner, approved version, commit identifier, and verification procedure.
- Do not run the installation command with administrative privileges unless explicitly required and independently justified.
