T08 · Insecure Dependencies
- Location
SKILL.md:125- Finding
Unpinned and Unverifiable Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:125-131andSKILL.md:234-237
Vulnerability Type: Supply-chain risk caused by unpinned third-party dependencies and an unavailable installer
Risk Level: MediumVulnerable Code Snippets
SKILL.md:125-131:bash scripts/setup-piper.shThe document states that this script installs
piper-tts, downloads a default voice model, and configures the output directory. However, the referenced script is not included in the audited project.SKILL.md:234-237:text | piper-tts | Python package | Required | pip install piper-tts (automatically handled by the installation script) | | Voice model | Model file | Required | The installation script automatically downloads the default voice | | LLM API | API | Required | Provided by the Agent's built-in LLM | | onnxruntime | Python package | Required | pip install onnxruntime (automatically installed) |Technical Analysis
The skill instructs an Agent with
execpermission to invoke an installation script that is not present in the project. It also specifies installation ofpiper-ttsandonnxruntimewithout exact versions, package hashes, a lockfile, or an explicitly trusted package index.Unpinned package installation resolves whatever package release is available at execution time. Consequently, the effective code installed on a user's system can differ from the dependencies that existed when the skill was reviewed. The missing
scripts/setup-piper.shalso prevents auditors from validating the intended package source, model download URL, checksum verification, filesystem changes, and subprocess behavior.No evidence establishes that the named packages are currently malicious. The vulnerability is the absence of controls that would protect installation against a compromised release, compromised package repository, unsafe replacement installer, or unexpectedly changed dependency.
Attac
...[truncated 1662 chars]
- Remediation
View remediation
Remediation Suggestions
- Include
scripts/setup-piper.shand every referenced runtime script in the project so their behavior can be reviewed. - Pin all direct and transitive Python dependencies to exact reviewed versions.
- Maintain a lockfile or requirements file containing cryptographic hashes, and install with hash enforcement such as
pip install --require-hashes. - Configure an explicit authenticated package index rather than relying implicitly on the environment's default index.
- Pin voice-model downloads to documented HTTPS URLs and verify each downloaded artifact against a published SHA-256 or stronger checksum before use.
- Make installation an explicit, user-approved action instead of automatically installing packages when synthesis is requested.
- Run installation and synthesis in an isolated virtual environment or restricted container under a non-privileged account.
- Document all network destinations, files created, directories modified, and subprocesses invoked by the installer.
- Fail safely if the bundled installer is missing rather than directing the Agent to locate or improvise an external replacement.
- Include
