T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:17
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 17-19; also referenced at line 12 **Vulnerability Type**: Unpinned dependency installation from a mutable package registry **Risk Level**: Medium ### Vulnerable Code ```bash # Install pip install fusion-bench ``` The same unpinned installation command is advertised at line 12: ```markdown **PyPI:** `pip install fusion-bench` ``` ### Technical Analysis The Skill directs users or agents to install `fusion-bench` from PyPI without specifying a reviewed version, verifying package hashes, using a lockfile, or requiring an isolated environment. Consequently, the package and its transitive dependencies are resolved from mutable registry state at installation time. Python package installation can execute build-system and installation logic. If a future release of the named package, one of its dependencies, or the associated publishing account is compromised, following this instruction could execute attacker-controlled code with the privileges of the user running `pip`. The audit found no evidence that the currently published package is malicious; the vulnerability is the absence of controls ensuring that the installed artifact is the version that was reviewed and intended. ### Attack Path 1. An attacker compromises the package publisher, a required transitive dependency, or the relevant supply-chain publishing process. 2. The attacker publishes a malicious version that satisfies the unrestricted dependency resolution request. 3. A user or agent follows the Skill and runs `pip install fusion-bench`. 4. `pip` resolves the attacker-controlled release because no version or artifact hash is pinned. 5. Malicious build, installation, import-time, or runtime code executes in the installation environment. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the permissions of the account that invokes `pip`. Depending on that ...[truncated 350 chars]
- Remediation
- ## Remediation Suggestions - Pin `fusion-bench` to a specific version that has been reviewed, for example `fusion-bench==X.Y.Z`. - Publish a lockfile that pins all transitive dependencies. - Provide cryptographic hashes and install with `pip install --require-hashes -r requirements.txt`. - Recommend installation inside a dedicated virtual environment or disposable container rather than a system Python environment. - Avoid running package installation with administrator or root privileges. - Document the expected official package publisher and source repository so users can validate provenance. - Establish a dependency-update process that reviews and tests new versions before changing the pinned version or hashes.
