T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:313
- Finding
- Third-Party Python Package Installed Without Integrity Verification## Vulnerability Details **File Location**: `SKILL.md`, line 313 **Vulnerability Type**: Unverified third-party dependency installation **Risk Level**: Medium **Vulnerable Code:** ```bash pip install scavio==0.15.0 ``` ### Technical Analysis The Skill instructs users to install the `scavio` package from the Python package index configured for `pip`. Although the dependency is pinned to version `0.15.0`, the command does not verify the downloaded artifact using a cryptographic hash or constrain resolution to an explicitly trusted package index. Version pinning prevents unintended version upgrades but does not protect against compromise of the specified release, package-index substitution, malicious mirror configuration, or replacement of a cached artifact. Python package installation can execute package build logic with the privileges of the user running `pip`. This concern is particularly relevant because the installed SDK subsequently reads `SCAVIO_API_KEY` from the environment. A compromised package could therefore access that credential alongside any other files, environment variables, and network resources available to the invoking process. ### Attack Path 1. An attacker compromises the `scavio==0.15.0` distribution, a configured package mirror, or another component of the dependency-resolution path. 2. A user follows the Skill documentation and runs: ```bash pip install scavio==0.15.0 ``` 3. `pip` downloads the dependency without validating it against a publisher-provided expected hash. 4. Malicious installation or runtime code executes with the invoking user's privileges. 5. The malicious package accesses available resources, potentially including `SCAVIO_API_KEY`, other environment variables, user-readable files, and outbound network connectivity. 6. Stolen information may be transmitted to an attacker-controlled service, or files accessible to the process may be modified. ### Impact Assessmen ...[truncated 933 chars]
- Remediation
- ## Remediation Suggestions 1. Publish a reviewed requirements or lock file containing hashes for every accepted artifact, and require hash verification: ```bash python -m pip install --require-hashes -r requirements.txt ``` 2. Document an explicitly trusted package index rather than relying on arbitrary local `pip` configuration: ```bash python -m pip install --index-url https://pypi.org/simple --require-hashes -r requirements.txt ``` 3. Provide expected SHA-256 hashes for all supported wheel files and source distributions, accounting for platform-specific artifacts. 4. Recommend installation inside a dedicated virtual environment or disposable container with minimal filesystem permissions. 5. Explicitly warn users not to install the package as `root` or through an elevated shell. 6. Review the package provenance, maintainers, release history, installation metadata, build configuration, and transitive dependencies before recommending it. 7. Prefer direct HTTPS API requests shown elsewhere in the Skill when installing the SDK is unnecessary. 8. Run the client with only `SCAVIO_API_KEY` exposed, avoiding inheritance of unrelated secrets from the broader environment.
