T08 · Insecure Dependencies
Note
- Location
- SKILL.md:220
- Finding
- Third-Party Python SDK Installed Without Artifact Integrity Verification## Vulnerability Details **File Location**: `SKILL.md:220` **Vulnerability Type**: Supply-chain exposure through an unverified third-party dependency **Risk Level**: Low ```bash pip install scavio==0.15.0 ``` ### Technical Analysis The skill instructs users or agents to install the `scavio` package from pip's configured package index. The dependency is pinned to version `0.15.0`, which reduces unintended version drift, but no package hash, trusted index URL, signature verification, or locked artifact is specified. A pip installation can execute package build logic when a source distribution must be built. The installed SDK is subsequently imported and given access to `SCAVIO_API_KEY`, creating a sensitive trust boundary. The audit found no evidence that the named package or version is currently malicious; this finding concerns the absence of artifact-level integrity controls. The transmission of `SCAVIO_API_KEY` to `https://api.scavio.dev` is consistent with the declared API functionality and does not, by itself, constitute unauthorized secret exfiltration. ### Attack Path 1. An attacker compromises the package publisher, package-index account, configured package index, or the specific published artifact. 2. The victim follows the documented `pip install scavio==0.15.0` instruction without verifying an expected cryptographic hash. 3. Malicious installation logic may run during package installation, or malicious SDK code runs when imported. 4. The compromised code executes with the privileges of the installing user. 5. When the SDK is used, it may access `SCAVIO_API_KEY`, request parameters, property searches, agent queries, API responses, and other data available to the process. ### Impact Assessment Exploitation could provide code execution with the current user's privileges. It could expose the Scavio API key and real-estate query data or modify API requests and responses. The instruction does not request elevated p ...[truncated 233 chars]
- Remediation
- ## Remediation Suggestions - Prefer direct HTTPS API examples when an SDK is not necessary. - Publish a requirements or lock file containing cryptographic hashes for approved artifacts. - Use `pip install --require-hashes -r requirements.txt` with an exact package version and hashes for every transitive dependency. - Require installation from an explicitly trusted package index. - Verify package provenance and publisher ownership before approving updates. - Install the SDK in an isolated virtual environment under a nonprivileged account. - Ensure the API key is scoped, rotatable, and supplied only at runtime through the environment or a secret manager. - Review new SDK versions and dependency changes before updating the approved lock file.
