T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:14
- Finding
- Unpinned Third-Party CLI Installation Creates a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 14-20 **Vulnerability Type**: Unpinned and externally maintained dependencies **Risk Level**: Medium ### Vulnerable Code ```bash # Via Homebrew brew tap pasogott/tap brew install gurkerlcli # Or via pipx pipx install gurkerlcli ``` ### Technical Analysis The installation instructions retrieve and execute `gurkerlcli` from a third-party Homebrew tap or Python package registry without pinning an audited version, package hash, immutable source commit, or cryptographic signature. Because the executable implementation is not included in the audited project, its behavior cannot be verified from `SKILL.md`. The package associated with either installation command can also change after this Skill has been reviewed. This creates a supply-chain trust boundary in which control of the package registry account, Homebrew tap, release artifacts, or upstream repository may allow an attacker to distribute modified code. This finding does not establish that the current package is malicious. It identifies the absence of controls that would prevent a future compromised or replaced package from being installed. ### Attack Path 1. An attacker compromises the package maintainer's account, package registry entry, Homebrew tap, or release infrastructure. 2. The attacker publishes a malicious version under the expected package name. 3. A user or agent follows the Skill's unpinned installation instructions. 4. Homebrew or `pipx` resolves and installs the attacker-controlled release. 5. The malicious package executes during installation or when `gurkerlcli` is invoked. 6. The payload operates with the privileges and data access of the installing user. ### Impact Assessment Successful exploitation could permit arbitrary code execution in the installing user's security context. Depending on that user's environment, the compromised package could access local files, environment variables, browser or application ...[truncated 373 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin installation instructions to a specific audited release rather than resolving the latest available version. - Publish and verify SHA-256 checksums or cryptographic signatures for release artifacts. - For Homebrew, reference a reviewed formula revision and ensure bottle checksums are enforced. - For Python distribution, use a version-pinned command and provide hash-verified installation instructions, for example through a locked requirements file using `--require-hashes`. - Clearly identify the authoritative package registry, repository, maintainer, and expected package identity to reduce dependency-confusion and typosquatting risks. - Re-audit the executable package whenever the pinned release is updated. - Avoid recommending elevated installation privileges. ]]>
