T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned Third-Party Dependencies Installed from a Mutable Package Index
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31–34
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code:
bash python3 -m venv .venv source .venv/bin/activate pip install mcp python-jobspy pandas pydanticTechnical Analysis
The documented installation command installs four third-party packages without version constraints, cryptographic hashes, a dependency lockfile, or an explicitly trusted package index. Package resolution is therefore mutable: following the same instructions at different times may install different releases and transitive dependencies.
Python package installation may execute attacker-controlled build logic, including backend hooks used to build source distributions. If a named package, its maintainer account, or a transitive dependency is compromised, following these instructions could execute malicious code with the privileges of the user running
pip. The virtual environment limits dependency placement but does not sandbox installation-time code or prevent access to user-accessible files and network resources.No evidence shows that the currently named packages are malicious. The issue is the absence of controls that ensure users install the specific dependency artifacts reviewed and intended by the project.
Attack Path
- An attacker compromises a named package, one of its transitive dependencies, or an associated package-publishing account.
- The attacker publishes a malicious release that satisfies unconstrained dependency resolution.
- A user follows the installation instructions and runs the documented
pip installcommand. - The configured package index supplies the malicious or compromised release.
- Malicious build or runtime code executes under the installing user's account.
- The payload can access resources available to that account and may persist in the virtual environment for later execution.
Im
...[truncated 540 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed, exact version.
- Generate and commit a lockfile that also constrains transitive dependencies.
- Record cryptographic hashes and install with hash verification, such as
pip install --require-hashes -r requirements.txt. - Configure and document an approved HTTPS package index rather than relying silently on the user's existing pip configuration.
- Prefer reviewed binary wheels where appropriate and disable source builds when they are unnecessary.
- Add automated dependency vulnerability, provenance, and release-integrity checks.
- Review and update pinned dependencies through a controlled process rather than allowing installation-time resolution to select arbitrary future releases.
