realtime-voice-chat
Warn
Audited by Gen Agent Trust Hub on Oct 3, 2026
Risk Level: MEDIUMEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONREMOTE_CODE_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [EXTERNAL_DOWNLOADS]: The skill's setup process involves cloning an external, unverified repository (
https://github.com/78/xiaozhi-esp32-server.git) to the user's local machine. It also installs a large volume of Python packages, including some with low popularity likepyyml, which may pose a supply chain risk. - [COMMAND_EXECUTION]: The provided installation scripts (
scripts/setup_server.shandscripts/setup_client.sh) utilizesudoto perform system-level operations, including installing packages likelibopus-dev,portaudio19-dev, andffmpegvia the system's package manager. - [REMOTE_CODE_EXECUTION]: Instructions for setting up local LLM providers suggest the execution of a remote shell script from a well-known service (
curl -fsSL https://ollama.com/install.sh | sh), which constitutes remote code execution. - [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted audio data through a real-time WebSocket stream that is converted to text (ASR) and passed to an LLM for response generation.
- Ingestion points: WebSocket audio data stream in
templates/voice_chat_api.pyandtemplates/voice_chat_client.py. - Boundary markers: No specific delimiters or "ignore instructions" warnings are present when passing ASR output to the LLM context.
- Capability inventory: The skill possesses network operation capabilities (API calls to 50+ providers), file system write access (saving audio to
tmp/folders), and shell execution via the included setup scripts. - Sanitization: No sanitization or filtering is performed on the recognized speech text before it is interpolated into the LLM prompt.
- [DYNAMIC_EXECUTION]: The
templates/minimal_client.pyfile uses dynamic module loading (__import__('random')) to generate randomized device identifiers at runtime.
Audit Metadata