T08 · Insecure Dependencies
- Location
SKILL.md:29- Finding
Unpinned Third-Party Package Installation from PyPI
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 29-33
Vulnerability Type: Unpinned and unverifiable third-party dependency
Risk Level: MediumVulnerable code snippet:
markdown ## Setup ```bash pip install agent-justice-protocoltext ### Technical Analysis The setup instructions install `agent-justice-protocol` directly from PyPI without specifying an audited version or cryptographic integrity hash. Consequently, the package version and code executed during installation can change after this skill has been reviewed. Python package installation may execute package-controlled build or installation logic. The installed package is also subsequently imported and given access to dispute stores and provenance-chain files. This repository contains only `SKILL.md`; it does not include the dependency's implementation, a lockfile, package hashes, or other artifacts that would allow its behavior to be verified. This finding does not establish that the current PyPI package is malicious. It identifies a supply-chain weakness through which a compromised maintainer account, malicious future release, or compromised package distribution path could introduce hostile code. ### Attack Path 1. An attacker compromises the external package's publication account or otherwise causes a malicious release to be served under the expected package name. 2. A user follows the documented command `pip install agent-justice-protocol`. 3. Because no version or hash is specified, pip resolves and downloads the attacker-controlled release. 4. Package-controlled installation or build code executes with the privileges of the user running pip. 5. The installed package is later imported by the documented examples and receives file paths for dispute and provenance data. 6. Malicious code could read, alter, delete, or disclose files accessible to that user or falsify investigation and risk-assessment results. ### Impact As ...[truncated 775 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an explicitly reviewed version, such as
agent-justice-protocol==<audited-version>. - Supply a hash-locked requirements file and install with hash verification, for example:
bash python3 -m pip install --require-hashes -r requirements.txt - Record hashes for every direct and transitive dependency and regenerate them only after security review.
- Include or link to immutable, reviewable source corresponding exactly to the pinned release.
- Install and run the package in an isolated virtual environment or container under a dedicated, least-privilege account.
- Restrict filesystem and network access at the operating-system or sandbox level rather than relying on documentation claims.
- Verify package provenance using signed release artifacts or trusted-publisher attestations where available.
- Add automated dependency scanning and require review before updating the pinned version.
- Pin the dependency to an explicitly reviewed version, such as
