homepod-tts
Warn
Audited by Gen Agent Trust Hub on Feb 20, 2026
Risk Level: MEDIUMCREDENTIALS_UNSAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
- [CREDENTIALS_UNSAFE] (MEDIUM): The skill requires a Home Assistant 'Long-Lived Access Token' (
HASS_TOKEN) for authentication. This token is passed viacurlheaders in theplay-tts.shscript. On multi-user systems, command-line arguments (including headers) can potentially be visible to other users via process monitoring tools likeps. - [COMMAND_EXECUTION] (MEDIUM): The
play-tts.shscript starts a local HTTP server usingpython3 -m http.server. This server is unauthenticated and serves all files within theTTS_DIRdirectory to any device on the local network. If sensitive files (such as.envcontaining theHASS_TOKENor private voice samples) are stored in or above this directory, they could be accessed by unauthorized parties. - [EXTERNAL_DOWNLOADS] (LOW): The Python script
tts_sample.pyuses themodelscopelibrary to download theQwen3-TTSmodel weights from external repositories. While this is expected behavior for an AI skill, it involves downloading and executing logic from external binary sources. - [PROMPT_INJECTION] (LOW): The skill ingests arbitrary user text to determine the 'emotion' of the generated speech through keyword matching in
tts_sample.py. While this presents an indirect prompt injection surface, the impact is limited to modifying non-critical TTS parameters and does not lead to command execution or safety bypass.
Audit Metadata