T09 · Insecure Skill Coding Practices
- Location
scripts/tts_walkie.sh:27- Finding
Arbitrary Command Execution Through Unquoted Heredoc Expansion
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a coherent audio purpose, but its install instructions and scripts create avoidable system-wide and code-execution risks.
Review this skill carefully before installing. Use a virtual environment, pin and verify dependencies, avoid --break-system-packages where possible, do not run the runtime scripts as root, avoid storing tokens in ~/.bashrc unless you accept that persistence, and fix the heredoc/input handling and temporary-file usage before processing untrusted text or audio.
scripts/tts_walkie.sh:27Arbitrary Command Execution Through Unquoted Heredoc Expansion
scripts/tts_walkie.sh:11Predictable Temporary Paths Permit Symlink and File-Clobbering Attacks
SKILL.md:55Unpinned Packages Are Installed Into the System Python Environment
YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).
| 80M | 80MB | KittenML/kitten-tts-mini-0.8 |
Default: kitten-tts-mini-0.8 (best quality). Change in scripts/tts_walkie.sh.
Run these manually before the skill is used:
# 1. System package (requires root/privileged)
apt-get install -y ffmpeg
# 2. Python package
pip3 install kittentts --break-system-packages
# 3. Optional: set Hugging Face token to avoid rate limits
# echo 'export HF_TOKEN="hf_your_token_here"' >> ~/.bashrc
Restart OpenClaw after installing dependencies so the new packages are in PATH.
bash scripts/tts_walkie.sh "Your message here" Bella
# Output: /tmp/walkie_reply.ogg (16kHz OGG Opus, WhatsApp-ready)
# Install whisper (one-time, ~140MB-1.4GB depending on model)
pip3 install whisper --break-system-packages
bash scripts/transcribe.sh /path/to/audio.ogg [model]
# Model: tiny | base | small | medium | large (defaul
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## ⚠️ Privileged Install Warning
The dependency install commands use `--break-system-packages` and `apt-get install -y`. These require root privileges and modify system packages. Review before running if you are on a managed system.
## Troubleshooting
The whisper invocation hard-codes --language en, which imposes an English-only locale choice regardless of the input audio or user preference. This is a natural-language policy concern because it restricts language handling without offering opt-in, configurability, or a documented region-specific justification.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
# Create private temp dir (mode 700)
mkdir -p "$TMP_DIR"
chmod 700 "$TMP_DIR"
echo "[TTS] Generating: $TEXT"
echo "[TTS] Voice: $VOICE, Speed: $VOICE_SPEED"