T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:9
- Finding
- Unpinned Third-Party Package Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 9-15 **Vulnerability Type**: Unpinned and unverified third-party dependency installation **Risk Level**: Medium **Complete Code Snippet**: ```markdown ## Installation ```bash pip install diffmanifests ``` Upgrade: `pip install diffmanifests --upgrade` ``` ### Technical Analysis The skill instructs users to install or upgrade `diffmanifests` from the package index without specifying an exact version, validating package hashes, using a lock file, or identifying a reviewed source artifact. Consequently, the package resolved during installation can differ from the version that existed when this skill was audited. Python package installation may execute package build or installation logic. The installed CLI subsequently receives paths to local manifest files and a configuration format that supports Gerrit and Gitiles credentials. If the package, a release artifact, a maintainer account, or a transitive dependency is compromised, attacker-controlled code could execute under the installing user's account. The artifact does not contain the package implementation, and there is no evidence that the currently published package is malicious. The vulnerability is the unsafe, mutable dependency acquisition process rather than confirmed malicious behavior in `diffmanifests`. ### Attack Path 1. An attacker compromises the package publisher account, package distribution channel, release artifact, or an unpinned transitive dependency. 2. The attacker publishes a malicious package version that remains compatible with the unrestricted installation command. 3. A user follows the skill instructions and runs `pip install diffmanifests` or the upgrade command. 4. `pip` resolves and installs the attacker-controlled release without checking a project-supplied version pin or cryptographic hash. 5. Malicious installation logic or runtime code executes with the privileges of the ...[truncated 746 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `diffmanifests` to an exact, reviewed version rather than allowing the latest available release. 2. Distribute a requirements or lock file containing cryptographic hashes and install with hash enforcement, such as `pip install --require-hashes -r requirements.txt`. 3. Document the authoritative source repository and verify that the package publisher and distribution artifact correspond to that source. 4. Review and pin all transitive dependencies, not only the top-level package. 5. Install the CLI in an isolated virtual environment or sandbox under a non-privileged account. 6. Re-audit package changes before updating the pinned version. 7. Avoid exposing credentials until the installed package and its dependency chain have been verified; use narrowly scoped tokens when authentication is required.
