T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:80
- Finding
- Unpinned Third-Party SDK Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 80–83 **Vulnerability Type**: Insecure third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```markdown ## SDKs - npm: `npm install gui-new` - pip: `pip install gui-new` ``` ### Technical Analysis The documented npm and pip commands install the latest dependency versions resolved from external package registries. The instructions do not specify exact audited versions, lockfiles, cryptographic hashes, signatures, or verified source repositories. Because package registry contents and version-resolution results can change after the Skill has been reviewed, following these commands may install code that was not included in this audit. npm packages can run package-controlled lifecycle scripts during installation. Python packages may execute package-controlled build logic, while installed SDK code may execute when subsequently imported. This creates a supply-chain exposure if the package publisher account or registry is compromised, the package is taken over, or a future release becomes malicious. The audit did not establish that the named packages are currently malicious; the finding concerns the unsafe, mutable installation method. ### Attack Path 1. An attacker compromises the package publisher, registry account, release pipeline, or another component of the package distribution chain. 2. The attacker publishes a malicious version under the referenced package name. 3. A user follows `npm install gui-new` or `pip install gui-new`. 4. The package manager resolves and downloads the attacker-controlled release because no audited version or integrity value is required. 5. Malicious code executes through an npm installation lifecycle script, Python build/install behavior, or later SDK import and use. 6. The payload operates with the permissions of the account running the package manager or application. ### Impact Assessment Succes ...[truncated 509 chars]
- Remediation
- ## Remediation Suggestions - Pin each SDK to a specific version that has been independently reviewed. - Provide and enforce lockfiles for reproducible dependency resolution. - For Python installations, use a requirements file containing cryptographic hashes and install with hash verification, such as `pip install --require-hashes`. - For npm, use a committed lockfile and `npm ci`; review package integrity metadata and disable lifecycle scripts where they are unnecessary. - Identify the verified package publisher and canonical source repository so users can validate package provenance. - Use trusted registries and apply dependency scanning, provenance verification, and update review in CI. - Run package installation with least privilege in an isolated environment. - Remove the SDK installation guidance if the documented direct HTTPS API calls are sufficient.
