T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:244
- Finding
- Third-Party SDK Installation Without Integrity Verification## Vulnerability Details **File Location**: `SKILL.md:244-247` and `SKILL.md:263-266` **Vulnerability Type**: Unverified third-party package installation **Risk Level**: Medium ### Vulnerable Code Python installation instructions at `SKILL.md:244-247`: ```bash pip install scavio==0.15.0 ``` JavaScript/TypeScript installation instructions at `SKILL.md:263-266`: ```bash npm install scavio@0.15.0 ``` ### Technical Analysis The Skill directs users or agents to install third-party SDKs from public package registries. Although both dependencies are pinned to version `0.15.0`, the instructions do not provide cryptographic hashes, a lockfile, signature verification, package provenance checks, or other integrity controls. Version pinning improves reproducibility but does not protect against compromise of the specified release, its transitive dependencies, the registry, or a maintainer account. Package installation can execute package build logic or lifecycle scripts with the privileges of the user performing the installation. These dependencies are not strictly required for the declared SEC EDGAR lookup functionality because the same document already provides direct HTTPS API examples. Consequently, installing executable third-party components introduces supply-chain exposure beyond the minimum privileges and components necessary to call the service. No evidence in the audited file establishes that the named packages or version are currently malicious. The risk is therefore a conditional supply-chain vulnerability rather than evidence of an active malicious payload. ### Attack Path 1. An attacker compromises the relevant package release, a transitive dependency, a package maintainer account, or the registry delivery path. 2. The user or agent follows the Skill instructions and runs `pip install scavio==0.15.0` or `npm install scavio@0.15.0`. 3. The compromised package executes malicious installation, build, import, or ...[truncated 1175 chars]
- Remediation
- ## Remediation Suggestions 1. Prefer the documented direct HTTPS API integration and remove SDK installation as a required workflow. 2. If the SDK examples remain, explicitly identify them as optional. 3. Publish hash-locked installation instructions, such as a requirements file containing verified hashes for Python dependencies. 4. Provide and verify lockfiles for JavaScript dependencies, and use deterministic installation such as `npm ci`. 5. Verify and document official package ownership, registry provenance, release signatures, and source repository links. 6. Review transitive dependencies and monitor them with dependency and supply-chain scanning. 7. Disable package lifecycle scripts where compatible, such as by using `npm install --ignore-scripts`. 8. Install and execute third-party SDKs in an isolated virtual environment, container, or restricted service account. 9. Expose only `SCAVIO_API_KEY` to the process and avoid placing unrelated credentials in the same environment. 10. Rotate the API key and review credit usage if dependency compromise is suspected.
