T08 · Insecure Dependencies
- Location
SKILL.md:11- Finding
Downloaded Native Runtime Is Executed Without Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent offline text-to-speech wrapper, but it downloads and runs an unverified native runtime with the user's normal process environment.
Install only if you trust the k2-fsa/sherpa-onnx release artifacts and are comfortable running a downloaded native binary under your user account. Prefer verifying release hashes or signatures yourself, and avoid running it from an agent process that has sensitive credentials in environment variables.
SKILL.md:11Downloaded Native Runtime Is Executed Without Integrity Verification
Without declared permissions the skill's intent is opaque and cannot be validated.
The manifest and usage documentation default to the en_US Lessac voice model and present it as the installed model, which imposes a specific locale choice in the skill's natural-language-facing setup. The file does not offer a user opt-in or selection flow for language/locale, beyond a later generic note that another voice model can be picked.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
STATE_DIR="${OPENCLAW_STATE_DIR:-$HOME/.openclaw}"
Then write those resolved paths into the active OpenClaw config file (`$OPENCLAW_CONFIG_PATH`, default `~/.openclaw/openclaw.json`):
```json5
{
The manifest describes a local offline text-to-speech skill, which would justify local model/file access and audio output generation. However, this implementation launches an arbitrary executable from a user-/env-controlled runtime directory and passes through the entire environment, which is a process-execution capability not implied by the stated purpose.
This markdown file documents installation steps that download runtime/model archives from GitHub, extract them into local directories, and instruct the user to write paths into the active OpenClaw config file. While the steps are described functionally, there is no explicit user warning about these filesystem changes or the fact that external artifacts are fetched and stored locally.