T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:5
- Finding
- Unpinned Remote Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Unpinned executable dependency from a mutable remote repository **Risk Level**: Medium ### Vulnerable Code ```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 host to install the `qmd` Node package directly from a GitHub repository without pinning an immutable commit, a reviewed release tag, or an integrity checksum. Because the repository reference is mutable, the code installed in the future may differ from the code reviewed when this skill was published. This creates a supply-chain trust issue: compromise of the upstream repository, its maintainer account, or its release process could introduce malicious package code or installation lifecycle scripts. Such code could execute locally under the privileges of the process performing the installation. The audit did not establish that the current upstream project is malicious. The finding concerns the unsafe, unpinned dependency source. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or another part of its publication process. 2. The attacker modifies the repository's package contents or lifecycle scripts. 3. A user or agent installs `qmd` through the skill's declared installation metadata. 4. The installer retrieves the repository's current mutable state rather than a previously reviewed immutable revision. 5. Malicious package or lifecycle code executes with the installer process's privileges. 6. The payload can access resources available to that process, potentially including local files, environment variables, credentials, and indexed documents. ### Impact Assessment Successful exploitation could permit arbitrary code execution within the installing user's security c ...[truncated 378 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to a reviewed, immutable commit hash rather than the repository's mutable default branch. 2. Prefer a specific signed release or trusted package-registry version when available. 3. Record and verify a cryptographic integrity hash for the retrieved artifact. 4. Review the pinned source, package manifest, dependency tree, and installation lifecycle scripts before approval. 5. Disable Node package lifecycle scripts during installation where they are unnecessary. 6. Perform installation and execution with least privilege in a sandbox that restricts filesystem, credential, and network access. 7. Use automated dependency monitoring, but require security review before updating the pinned revision.
