T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Executable Dependency from a Mutable GitHub Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Supply-chain risk from an unpinned executable dependency
Risk Level: MediumVulnerable Code Snippet:
yaml metadata: {"clawdbot":{"emoji":"📝","requires":{"bins":["qmd"]},"install":[{"id":"node","kind":"node","package":"https://github.com/tobi/qmd","bins":["qmd"],"label":"Install qmd (node)"}]}}Technical Analysis
The installation metadata directs the environment to install an executable Node dependency directly from
https://github.com/tobi/qmd. The reference does not specify an immutable commit hash, a verified release version, or an integrity checksum.Because the repository reference is mutable, the code retrieved during a future installation may differ from the version that was originally reviewed. Compromise of the upstream repository, its maintainer account, or the dependency delivery process could therefore introduce attacker-controlled installation or runtime code.
The project does not itself contain evidence that the referenced dependency is currently malicious. The vulnerability is the absence of dependency pinning and integrity verification, which prevents the installed artifact from being reliably tied to an audited revision.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, or another part of the dependency publication process.
- The attacker modifies the repository revision resolved by the unpinned GitHub URL.
- A user or automated environment installs the skill dependency using the declared metadata.
- The installer retrieves the modified source because no immutable revision or integrity value is enforced.
- Attacker-controlled installation or runtime code executes with the permissions of the user or service performing the installation.
- That code could access resources available to the process, including local files selected for indexing, the index cache ...[truncated 684 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed, immutable Git commit rather than a mutable repository reference.
- Prefer a trusted package registry release with an exact version when an appropriately maintained release is available.
- Verify the downloaded artifact using a cryptographic checksum or trusted signature.
- Record the resolved dependency and its transitive dependencies in a lockfile where supported.
- Review the pinned revision's installation scripts and runtime behavior before approval.
- Perform installation and execution under a least-privileged account or sandbox, limiting filesystem and network access to what indexing requires.
- Use automated dependency monitoring and require explicit review before updating the pinned revision.
