T08 · Insecure Dependencies
- Location
README.md:65- Finding
Unpinned Third-Party Package Installation from a Mutable Git Repository
- Content
View full analysis
Vulnerability Details
File Location:
README.md, lines 65–73
Vulnerability Type: Supply-chain risk caused by an unpinned VCS dependency
Risk Level: MediumVulnerable Code
markdown ### Generate Deliverables with legal-redline-tools This skill outputs structured JSON redlines. To produce the tracked-changes Word docs and redline PDFs that lawyers actually send, pair with [**legal-redline-tools**](https://github.com/evolsb/legal-redline-tools): ```bash pip install git+https://github.com/evolsb/legal-redline-tools.git # After the skill generates redlines.json: legal-redline apply contract.docx redlined.docx \ --from-json redlines.json \ --pdf redline.pdf \ --memo-pdf internal-memo.pdfTechnical Analysis
The installation command retrieves and installs Python package code from the external repository's mutable default branch. It does not pin the dependency to an immutable commit, verify an expected artifact hash, or otherwise establish that the installed revision is the one that was previously reviewed.
Python package installation can execute package-controlled build and installation logic. The installed CLI also subsequently processes contract documents and generated redline data. Because the external dependency is not included in this project, its implementation and security properties were outside the audited artifact and could not be verified.
This is a supply-chain weakness rather than evidence that the referenced repository is currently malicious. The risk arises because the effective installed payload can change after this project has been reviewed.
Attack Path
- An attacker compromises the external repository, a maintainer account, or the repository's default branch.
- The attacker adds malicious package build logic or modifies the
legal-redlineCLI. - A user follows the README and runs:
bash pip install git+https://github.com/evolsb/legal-redline-tools.git pipretrieves the c ...[truncated 1272 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the dependency to a reviewed, immutable commit:
bash python -m pip install \ "legal-redline-tools @ git+https://github.com/evolsb/legal-redline-tools.git@<full-reviewed-commit-sha>" -
Prefer a versioned release from a trusted package registry instead of installing the mutable default branch.
-
Publish and verify cryptographic hashes for release artifacts. Use hash-enforced dependency installation where supported.
-
Lock all transitive dependencies and review the dependency lock file before release.
-
Recommend installation in a dedicated virtual environment under a non-privileged account:
bash python -m venv .venv . .venv/bin/activate python -m pip install --upgrade pip -
In the README, explicitly state that
legal-redline-toolsis a separate, externally maintained component that is not part of this audited Skill. -
Review the pinned external revision, including package build configuration and runtime handling of contract files, before recommending it.
-
Add automated dependency monitoring and require reviewed pull requests before updating the pinned revision.
-
