T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned Third-Party Package Installation and Immediate Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–24
Vulnerability Type: Unpinned and unverifiable third-party dependency execution
Risk Level: MediumVulnerable Code
bash # From PyPI (requires --prerelease=allow due to mlx-audio upstream dep) uvx --prerelease=allow tts-router list # Or install with pip pip install tts-routerTechnical Analysis
The documented installation commands resolve
tts-routerand its transitive dependencies from PyPI without specifying an exact version, integrity hash, lockfile, or verified source revision.The
uvxcommand does not merely download the package: it immediately runs the resolvedtts-routerexecutable. The--prerelease=allowoption also permits prerelease dependency versions, increasing the range of remotely supplied components that may be selected.This repository contains documentation only and does not include the source code of
tts-routeror its dependencies. Consequently, the behavior of the code installed and executed by these instructions cannot be verified from the audited artifact. This creates supply-chain exposure if the package, a transitive dependency, its publisher account, or the package-resolution process is compromised.Attack Path
- An attacker compromises the
tts-routerdistribution, a transitive dependency, or an associated package-publishing account. - The attacker publishes a malicious version that remains compatible with the unpinned requirement.
- A user or agent follows the documented
uvx --prerelease=allow tts-router listinstruction. - The package manager resolves and downloads the attacker-controlled release.
uvximmediately executes the downloaded package under the invoking user's account.- The malicious code can perform actions available to that account before or instead of displaying the expected model list.
The alternative
pip install tts-routerinstruction creates the same unpinned dependency risk, although subsequ ...[truncated 806 chars]- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
-
Pin
tts-routerto a specific, reviewed version rather than resolving the latest available release:bash uvx --from 'tts-router==X.Y.Z' tts-router listor:
bash pip install 'tts-router==X.Y.Z' -
Publish cryptographic hashes for the package and all resolved dependencies, and enforce hash verification during installation.
-
Provide a committed lockfile or equivalent reproducible dependency manifest that records exact transitive dependency versions.
-
Avoid
--prerelease=allowunless a specific reviewed prerelease dependency is unavoidable. Pin that dependency explicitly and document why it is required. -
Link to the authoritative source repository and a specific reviewed release or commit so users can verify package provenance.
-
Recommend installation and initial execution inside an isolated, least-privileged environment without sensitive credentials or unnecessary filesystem access.
-
Add release-signing or provenance verification instructions where supported by the package distribution workflow.
-
