T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Third-Party CLI Installation Creates a Supply-Chain Execution Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13–16
Vulnerability Type: Unpinned third-party repository and dependency installation
Risk Level: MediumComplete Code Snippet:
markdown If it isn't installed, install it (requires [Bun](https://bun.sh)): git clone https://github.com/baileywickham/unifi-cli cd unifi-cli && bun install && bun linkTechnical Analysis
The installation instructions clone the current state of a third-party GitHub repository without pinning it to a reviewed commit hash or an immutable, verified release. The subsequent
bun installoperation resolves and installs third-party packages and may execute package lifecycle scripts. Finally,bun linkexposes the installed CLI through the user's executable search environment.Because neither the repository revision nor the resolved dependency set is constrained in the Skill instructions, the code executed during installation can change after this Skill has been audited. A compromise of the referenced repository, its publishing account, or one of its dependencies could therefore introduce attacker-controlled code.
This is primarily an insecure dependency and software supply-chain issue. It also has characteristics of remote payload retrieval because the effective executable payload is downloaded from a mutable external source.
Attack Path
- An attacker compromises the referenced GitHub repository, a maintainer account, or a dependency resolved by Bun.
- The attacker adds malicious installation/runtime code or publishes a compromised dependency version.
- A user or agent follows the documented installation procedure.
git cloneretrieves the mutable, attacker-controlled repository content.bun installinstalls the compromised dependency graph and may execute malicious lifecycle scripts.bun linkmakes the compromisedunifiexecutable available for subsequent truste ...[truncated 1069 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the repository to a specific, reviewed commit hash or a signed immutable release instead of cloning the repository's current default branch.
- Publish and verify a cryptographic checksum or signature for the approved source archive and installation artifacts.
- Commit a dependency lockfile and require frozen or immutable dependency resolution during installation.
- Audit direct and transitive dependencies before approving the pinned release.
- Disable package lifecycle scripts during dependency installation where operationally feasible; otherwise, explicitly review every script that can run.
- Require explicit user approval before cloning repositories, installing packages, executing installation scripts, or linking executables.
- Run installation and initial verification in a restricted environment with minimal filesystem permissions, no unnecessary secrets in environment variables, and constrained network access.
- Document the exact approved release, commit identifier, expected checksum, and verification commands directly in
SKILL.md. - Prefer a reproducible, signed distribution mechanism over installing directly from a mutable source repository.
