T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:54
- Finding
- Unpinned Runtime Dependency Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 54-56 **Vulnerability Type**: Supply-chain exposure through an unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code ```bash # Install if needed pip install reportlab ``` ### Technical Analysis The workflow instructs the Agent to install `reportlab` without specifying a reviewed version, integrity hash, trusted package index, or locked dependency set. Consequently, the package artifact installed during one invocation may differ from the artifact used during another invocation. Python package installation can execute package build and installation logic. If the selected package release or one of its transitive dependencies is compromised, malicious code could execute with the same operating-system permissions and network access as the Agent running `pip`. This is a supply-chain weakness rather than evidence that the current ReportLab package is malicious. ### Attack Path 1. The Skill is invoked in an environment where ReportLab is unavailable. 2. Following `SKILL.md`, the Agent runs `pip install reportlab`. 3. The package resolver downloads the current package and dependencies from the configured index. 4. A compromised release, dependency, index, or package artifact supplies malicious build or installation logic. 5. That logic executes during installation with the privileges of the Agent process. 6. The malicious package can then affect PDF generation or access resources available to that process. ### Impact Assessment Successful exploitation could provide arbitrary Python code execution with the permissions of the account performing the installation. Depending on the execution environment, this could expose accessible files, environment variables, generated reports, and network services. It could also modify files in the Python environment or tamper with subsequent report generation. The issue does not independently provide privilege escalation beyond the per ...[truncated 41 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Declare an exact, reviewed ReportLab version in a dependency file, for example: ```text reportlab==<reviewed-version> \ --hash=sha256:<verified-distribution-hash> ``` 2. Install dependencies with hash verification: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 3. Lock and review all transitive dependencies rather than pinning only the top-level package. 4. Use a trusted or internally mirrored package index. 5. Install inside an isolated virtual environment or container with minimal filesystem and network permissions. 6. Avoid performing package installation automatically during normal Skill execution. Prepare and verify the runtime environment before invoking the Skill. ]]>
