video-voiceover
Pass
Audited by Gen Agent Trust Hub on Oct 7, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION]: The skill uses
ffmpegandffprobefor audio extraction, duration calculation, and muxing. All subprocess calls (vialib.run_cmd) use a list-based argument structure and avoidshell=True, which prevents shell injection vulnerabilities. Paths provided as arguments are converted toPathobjects or strings. - Evidence:
scripts/lib.py(run_cmd function),scripts/dub.py(_ffmpeg, _ffmpeg_extract_wav), andscripts/voiceover.py(_prepare_voice_reference). - [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted data from
narration.jsonanddub_script.json(specifically thenarrationandemotionfields). These fields are interpolated into natural language instructions sent to the MiMo TTS API. While this allows for potential prompt injection into the TTS engine's controller, the impact is restricted to the synthesis phase. The skill implements_clean_narration_textto strip markdown and stage instructions, which reduces the surface area. - Ingestion point:
narration.jsoninscripts/voiceover.pyanddub_script.jsoninscripts/dub.py. - Capability inventory: Network operations via
urllib.requestand subprocess execution of media tools. - Boundary markers: The skill does not use specific delimiters but performs manual text cleanup.
- Sanitization:
scripts/voiceover.pyuses_clean_narration_textto filter instructions like[climax]or(aside). - [EXTERNAL_DOWNLOADS]: The skill fetches audio data from MiMo, Fish Audio, and self-hosted IndexTTS endpoints. The implementation includes a
_sanitize_api_errorutility that redacts API keys (matchingsk-ortp-patterns) from error messages to prevent credential leakage in logs. - Evidence:
scripts/lib.py(_sanitize_api_error) andscripts/providers/fish_audio.py(synthesize_fish_audio). - [DATA_EXFILTRATION]: The skill implements a security-hardened transport for self-hosted IndexTTS endpoints. It uses a custom
_NoRedirectHandlerto prevent the agent's narration text from being forwarded to unauthorized hosts via HTTP redirects (SSRF mitigation). It also validates endpoints to ensure they do not contain embedded credentials in the URL structure. - Evidence:
scripts/providers/index_tts.py(_NoRedirectHandler, validate_index_tts_config).
Audit Metadata