T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:29
- Finding
- Unpinned Third-Party Package Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:29-35`; duplicated in `references/deployment.md:3-8` **Vulnerability Type**: Unpinned and unverified third-party dependency **Risk Level**: Medium ```markdown ## Prerequisites Requires the Python SDK and model assets. Install once: ```bash pip install supertonic ``` ``` The deployment reference repeats the installation instruction: ```markdown ## Python SDK ```bash pip install supertonic ``` - First run auto-downloads ~400MB model from Hugging Face - Models cached in `~/.cache/supertonic3/` - Minimal dependencies: onnxruntime, numpy, soundfile, huggingface-hub ``` ### Technical Analysis The installation instructions retrieve the latest available `supertonic` distribution from the user's configured Python package index. No reviewed version, cryptographic hash, lock file, trusted index URL, or isolated environment is specified. Python packages can execute code during installation and whenever imported. Consequently, the effective code executed by this Skill may change after the Skill itself has been reviewed. This creates exposure to compromised upstream releases, package-index compromise, and unsafe private-index configuration. The scripts subsequently import `supertonic` and instantiate its `TTS` class. This finding does not establish that the current `supertonic` package is malicious. It identifies the absence of controls that would ensure users install the same reviewed dependency. ### Attack Path 1. An attacker compromises the upstream package, a future release, or a package index selected by the user's `pip` configuration. 2. The attacker publishes a malicious distribution under the expected `supertonic` package name. 3. A user follows the documented `pip install supertonic` instruction without a pinned version or hash. 4. Malicious package code executes during installation or when either Skill script imports `supertonic`. 5. The package gains the privileges and data access of the ...[truncated 468 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `supertonic` and all transitive dependencies to versions that have been reviewed and tested. 2. Provide a hash-locked requirements file, for example: ```text supertonic==<reviewed-version> --hash=sha256:<verified-distribution-hash> ``` 3. Install with hash enforcement: ```bash python3 -m pip install --require-hashes -r requirements.txt ``` 4. Document and enforce the expected package index, while ensuring credentials are not embedded in project files. 5. Use a dedicated virtual environment rather than installing into a user-wide or system-wide Python environment. 6. Add automated dependency vulnerability and integrity scanning to the release process. 7. Review and pin dependencies involved in automatic model retrieval, and document the trusted Hugging Face repository and expected model revisions or checksums. ]]>
