T08 · Insecure Dependencies
- Location
SKILL.md:197- Finding
Unpinned Automatic Installation and Retrieval of Third-Party Components
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 197 and 221-224; execution capability is declared at line 5
Vulnerability Type: Unverified third-party dependency and model retrieval
Risk Level: MediumVulnerable Configuration and Instructions
The following is a faithful English rendering of the relevant source instructions:
yaml allowed-tools: read exectext Q: Is a voice download required on first use? A: When a voice is first used, the Piper engine automatically downloads it from HuggingFace. It can then be used offline.text | Dependency | Type | Required | Acquisition method | | Piper TTS | Voice engine | Recommended | Automatically downloaded and installed | | HuggingFace voice library | Resource | Piper only | Automatically downloaded |Technical Analysis
The skill grants access to the
exectool and instructs the environment to install Piper TTS and download voice resources automatically. However, it does not identify an exact package registry entry, official repository, immutable version, commit revision, model repository, file checksum, or cryptographic signature.Referring only to HuggingFace identifies a hosting platform, not a specific immutable and authenticated artifact. The effective dependency content can therefore differ from what was reviewed. If the implementation resolves mutable branches, unspecified packages, or unverified artifacts, an upstream compromise, repository substitution, dependency-confusion event, or compromised release could cause attacker-controlled content to enter the local environment.
The repository contains only
SKILL.md; no local implementation demonstrating checksum validation, signature verification, package pinning, or restricted artifact loading is present. Consequently, the finding concerns the unsafe dependency acquisition instructions rather than ...[truncated 1941 chars]- Remediation
View remediation
Remediation Suggestions
-
Pin every dependency
- Specify the exact Piper package name and registry.
- Pin an exact version or immutable commit hash.
- Use lockfiles where an implementation is added.
-
Pin voice repositories and revisions
- Document the exact HuggingFace organization, repository, filename, and immutable revision or commit.
- Do not resolve mutable branches such as
mainduring normal operation.
-
Verify artifact integrity
- Publish expected SHA-256 or stronger hashes for every downloaded binary and model.
- Reject artifacts whose hashes do not match.
- Verify publisher signatures where supported.
-
Require explicit consent
- Inform the user before any network request, installation, or execution.
- Display the source, version, destination, and expected integrity value.
- Do not describe first-use downloads as fully offline behavior.
-
Separate downloading from execution
- Download into a restricted staging directory.
- Validate type, size, path, integrity, and signature before installation or loading.
- Prevent archive path traversal and symbolic-link attacks during extraction.
-
Apply least privilege
- Run installers and TTS engines without administrative privileges.
- Restrict filesystem and network access through sandboxing.
- Allowlist required hosts and deny arbitrary package sources.
-
Fail securely
- Abort when a version, repository identity, signature, or checksum cannot be verified.
- Do not silently fall back to an untrusted mirror or similarly named package.
-
