T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:272
- Finding
- Unverified Third-Party SDK Installation Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, lines 272–274 and 289–291 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash pip install scavio==0.15.0 ``` ```bash npm install scavio@0.15.0 ``` ### Technical Analysis The Skill instructs users or agents to install third-party `scavio` packages from the configured Python Package Index and npm registries. Although both dependencies are pinned to version `0.15.0`, version pinning alone does not verify artifact integrity or publisher identity. No package hashes, cryptographic signatures, signed provenance, lockfiles, or instructions for validating the packages against an authoritative source are provided. Package installation may execute package-controlled build hooks or npm lifecycle scripts. Subsequent import and execution also grants the installed SDK access to the process environment, including the required `SCAVIO_API_KEY`. This behavior is not strictly necessary because the Skill already documents direct HTTPS requests to the Scavio API. The SDK installation therefore introduces avoidable local code-execution and supply-chain exposure beyond the minimum privileges required to call the service. ### Attack Path 1. A user or agent follows the documented SDK setup command. 2. The package manager resolves `scavio==0.15.0` or `scavio@0.15.0` through its configured registry or mirror. 3. An attacker compromises the relevant publisher account, registry artifact, dependency, or package-resolution path. 4. The package manager downloads and installs attacker-controlled content without independent integrity verification. 5. Malicious installation hooks, lifecycle scripts, or imported SDK code execute with the privileges of the user running the agent. 6. The malicious code reads accessible environment variables or files, potentially including `SCAVIO_API_KEY`, and can transmit them over the network or perform othe ...[truncated 709 chars]
- Remediation
- ## Remediation Suggestions 1. Link directly to the verified official package pages and public source repositories so users can confirm package ownership and provenance. 2. Publish and document cryptographic hashes or signed attestations for released artifacts. 3. For Python, provide a requirements file with hashes and recommend installation using `pip install --require-hashes`. 4. For npm, provide a committed lockfile with integrity metadata and document how to verify it before installation. 5. Review package installation hooks and npm lifecycle scripts. Where compatible, recommend disabling lifecycle scripts during installation. 6. Advise installation in an isolated virtual environment, container, or restricted runtime without unrelated secrets or host filesystem access. 7. Retain the documented direct HTTPS API approach as the preferred minimum-privilege option when SDK functionality is unnecessary. 8. Ensure the SDK receives only `SCAVIO_API_KEY`; avoid exposing unrelated environment variables to its process. 9. Document key rotation and revocation procedures in case package or credential compromise is suspected.
