T08 · Insecure Dependencies
- Location
references/install-and-dependencies.md:34- Finding
Unpinned Installation of Executable Code from a Mutable Git Repository
- Content
View full analysis
Vulnerability Details
File Location:
references/install-and-dependencies.md, line 34
Vulnerability Type: Supply-chain exposure through an unpinned Git dependency
Risk Level: MediumVulnerable Code:
bash pip install git+https://github.com/bp-kelley/descriptastorusTechnical Analysis
The installation guidance directs
pipto retrieve a Python package from a Git repository without specifying an immutable commit hash or otherwise verifying the downloaded content. The effective package version therefore depends on the repository's mutable default branch at installation time.Python package installation can execute build-system and installation logic. If the upstream repository, a maintainer account, or its delivery path is compromised, later users following this instruction could execute content that was not present during this audit. The audited project contains no evidence that the referenced repository is currently malicious; the vulnerability is the absence of source pinning and integrity controls.
This network access is relevant to installing an upstream DeepPurpose dependency, but allowing an external mutable source to supply executable code exceeds the minimum privilege needed for reproducible installation.
Attack Path
- An attacker compromises the upstream Git repository or an authorized maintainer account.
- The attacker modifies the repository's default branch to include malicious package build or installation logic.
- A user follows the Skill's documented installation command.
pipclones the current mutable repository content and invokes its package build or installation process.- The malicious logic executes with the privileges of the user running
pip.
Exploitation requires both an upstream compromise or malicious upstream change and a user executing the documented command.
Impact Assessment
Successful exploitation could grant arbitrary code execution un ...[truncated 553 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the mutable Git reference with a reviewed, immutable full commit hash, for example:
bash pip install "git+https://github.com/bp-kelley/descriptastorus.git@FULL_REVIEWED_COMMIT_HASH" - Prefer a trusted package-index release with an exact version pin when an appropriate maintained release is available.
- Maintain dependencies in a lock file and verify artifact hashes, such as by using
pip install --require-hashes -r requirements.txt. - Review the pinned source and its transitive dependencies before updating the pin.
- Perform installation inside an isolated virtual environment or container under a non-administrative account.
- Avoid exposing unrelated credentials or sensitive host directories to the installation environment.
- Document an explicit dependency-update review process so immutable pins are changed only after source and integrity validation.
- Replace the mutable Git reference with a reviewed, immutable full commit hash, for example:
