Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Feishu Voice Bot

v1.0.0

Send native voice bubbles via Feishu using edge-tts + ffmpeg. Converts text to OGG/Opus audio and sends as a playable blue voice bubble. Use when: (1) User s...

0· 83·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code and SKILL.md align with the stated goal (text → edge-tts → ffmpeg → Feishu voice bubble). However the skill metadata declares no required binaries or env vars while the SKILL.md and script require node, ffmpeg, and the separate edge-tts skill script in ~/.openclaw/workspace/skills/edge-tts/scripts/tts-converter.js. The missing dependency metadata is an inconsistency.
!
Instruction Scope
The runtime script execSync()s shell commands that incorporate user-provided text into a shell command string. Although double quotes are used, POSIX shells still perform command substitution inside double quotes (e.g., $(...), `...`, $VAR expansions), so an attacker-controlled text could trigger arbitrary shell commands when the agent or user supplies input. The SKILL.md also expects the agent to access another skill's script in the user's HOME workspace (reads process.env.HOME implicitly) and creates temp files in /tmp that are not cleaned up.
Install Mechanism
Instruction-only plus a small helper script; there is no install spec and nothing is written by the skill itself. This lowers install-time risk.
!
Credentials
The skill does not request credentials, which matches its purpose, but it implicitly relies on process.env.HOME and the presence of another skill file under the user's workspace. It also requires ffmpeg and node but does not declare them in metadata. No secrets are requested, which is appropriate, but relying on another skill's script path in the user's home directory is an implicit dependency that should be declared.
Persistence & Privilege
The skill is not always-enabled and does not request elevated/persistent privileges. It does not modify other skills' config. Autonomous invocation remains allowed by platform default but is not combined here with unusual privileges.
What to consider before installing
This skill appears to implement the advertised Feishu voice-bubble flow, but exercise caution before installing or running it: - Command-injection risk: The helper script builds shell commands with user-supplied text via execSync(). Because the shell still performs command substitution inside double quotes, malicious input could run arbitrary commands. Don't run this skill on sensitive systems or accept untrusted input without fixing the code. - Dependency mismatch: The metadata doesn't list required binaries (node, ffmpeg) or the dependency on the edge-tts skill file in ~/.openclaw/workspace/skills/edge-tts/scripts/tts-converter.js. Verify those are present and trustworthy before use. - Temp file hygiene: Audio files are written to /tmp and not cleaned up; if audio can contain sensitive content, consider deletion after sending. Recommended mitigations before use: 1) Patch the script to avoid shell interpolation of user text — use child_process.execFile / spawn with argument arrays or pass the text via stdin or a temp file rather than embedding it in a shell command string. 2) Sanitize or escape characters that could trigger shell expansion (e.g., $, `, $( ), backticks) if you cannot change the invocation method. 3) Update the skill metadata to declare required binaries and the dependency on the edge-tts skill so installers know preconditions. 4) Add explicit cleanup of temporary files and consider a safer temp directory. 5) Only run this skill when you trust the edge-tts script and the environment; do not allow autonomous agent runs on systems with sensitive data until the injection issue is addressed. If you want, I can produce a safe replacement of the helper script that uses execFile/spawn or writes input to a temp file to eliminate shell injection risk.
scripts/voice-bubble.mjs:62
Shell command execution detected (child_process).
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.

Like a lobster shell, security has layers — review code before you run it.

latestvk97dz0srg6taxfv55da5421nhh83sbsn

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments