Trust Assessment
eachlabs-tts received a trust score of 72/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 1 finding: 1 critical, 0 high, 0 medium, and 0 low severity. Key findings include User-controlled input expanded in heredoc leading to command injection.
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 Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | User-controlled input expanded in heredoc leading to command injection The `AUDIO_URL` variable, which is directly provided by the user as an argument to the `transcribe.sh` script, is expanded without proper sanitization within a heredoc (the `generate_json` function). This allows an attacker to inject and execute arbitrary shell commands by embedding shell metacharacters (e.g., `$(command)`, backticks) into the `AUDIO_URL` argument. These commands will be executed during the `PAYLOAD=$(generate_json)` assignment, before the `curl` command is invoked, leading to arbitrary code execution on the host system. Sanitize or escape user-provided inputs before embedding them into shell constructs like heredocs. For JSON payloads, it is highly recommended to use a dedicated JSON processing tool like `jq` to construct the JSON, passing user inputs as arguments to `jq` to ensure proper escaping. Alternatively, manually escape special characters in the input variables before embedding them in the heredoc. For example, use `jq -Rsa .` to escape the `AUDIO_URL` before embedding it. | LLM | scripts/transcribe.sh:69 |
Scan History
Embed Code
[](https://skillshield.io/report/53e12a6f3eab4fcc)
Powered by SkillShield