T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:73
- Finding
- Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 73-77 **Vulnerability Type**: Unpinned runtime dependency installation **Risk Level**: Medium **Vulnerable Code:** ```bash ### Prerequisites ```bash # Install Python library pip install pdf2image ``` ### Technical Analysis The skill instructs users or agents to install `pdf2image` without specifying an audited version, lockfile, package hash, or trusted package index. Consequently, the installed code may change independently of the reviewed skill package. Because Python packages and their transitive dependencies can execute code during installation or when imported, an upstream compromise, malicious replacement, or unexpectedly unsafe future release could introduce unreviewed code into the execution environment. The project does not provide a dependency manifest that enables reproducible verification. ### Attack Path 1. An agent loads the skill and follows its prerequisite instructions. 2. The agent executes `pip install pdf2image`. 3. The package resolver retrieves the current package release and its transitive dependencies from the configured package index. 4. If an upstream package, dependency, package-index account, or configured index is compromised, malicious package code is installed. 5. Malicious code may execute during installation or when the PDF conversion script imports `pdf2image`. ### Impact Assessment Exploitation could execute code with the privileges of the user or agent running `pip`. This may expose files and environment variables accessible to that account, modify its Python environment, tamper with generated documents, or affect subsequent processes using the compromised environment. The scope is generally limited to the invoking account and environment. Greater impact is possible if installation is performed with elevated privileges, although the vulnerable instruction itself does not explicitly invoke `pip` through `sudo`.
- Remediation
- ## Remediation Suggestions - Pin `pdf2image` and all transitive dependencies to reviewed versions in a dependency lockfile. - Require cryptographic hashes for every downloaded distribution: ```bash python -m pip install --require-hashes -r requirements.txt ``` - Generate `requirements.txt` from a reviewed lock process and include entries such as: ```text pdf2image==<audited-version> --hash=sha256:<verified-hash> ``` - Install dependencies in a dedicated virtual environment rather than a shared or system-wide Python environment. - Explicitly specify and document the trusted package index. - Add automated dependency vulnerability and integrity scanning to the release process. - Periodically review and intentionally update pinned versions rather than resolving the latest release during each installation.
