Trust Assessment
clonev received a trust score of 79/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Arbitrary file read and exposure to container, Unpinned Docker image tag used.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Arbitrary file read and exposure to container The `scripts/clonev.sh` script copies a user-provided voice sample using `cp "$VOICE_SAMPLE" "${COQUI_DIR}/voice-samples/"`. The `$VOICE_SAMPLE` variable is directly taken from user input (`$2`) without validation or restriction on its path. This allows an attacker to specify an arbitrary file path on the host system (e.g., `/etc/passwd`, `/root/.ssh/id_rsa`). This sensitive file is then copied into a directory (`${COQUI_DIR}/voice-samples/`) that is mounted into the Docker container, making its contents accessible to the containerized application. This could lead to data exfiltration if the container logs, processes, or otherwise exposes the content of the sensitive file. 1. **Restrict input paths**: Validate that `$VOICE_SAMPLE` points to a file within an expected, restricted directory (e.g., a temporary user upload directory) or a specific user-owned directory. 2. **Input validation**: Implement checks to ensure the file is indeed a WAV file (e.g., using `file --mime-type` or similar tools) before copying. 3. **Secure temporary storage**: Instead of copying to a persistent volume, consider mounting the user-provided file directly as a read-only bind mount if possible, or copy it to a temporary, isolated location within the container's ephemeral storage. | LLM | scripts/clonev.sh:23 | |
| MEDIUM | Unpinned Docker image tag used The `docker run` command in `scripts/clonev.sh` uses the `ghcr.io/coqui-ai/tts:latest` Docker image. The `latest` tag is mutable, meaning the image it points to can change at any time without explicit updates to the skill. This introduces a supply chain risk, as a new version of the image could contain vulnerabilities or malicious code, potentially compromising the system. This unpinned tag is also referenced in the `SKILL.md` for troubleshooting. Pin the Docker image to a specific, immutable tag (e.g., `ghcr.io/coqui-ai/tts:vX.Y.Z` or a specific digest `ghcr.io/coqui-ai/tts@sha256:...`). Regularly update the pinned version after reviewing its changes. | LLM | scripts/clonev.sh:33 |
Scan History
Embed Code
[](https://skillshield.io/report/4fa47e26efc14499)
Powered by SkillShield