split-animated-talking-head
Fail
Audited by Gen Agent Trust Hub on Oct 8, 2026
Risk Level: HIGHDYNAMIC_EXECUTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONREMOTE_CODE_EXECUTION
Full Analysis
- [DYNAMIC_EXECUTION]: The script
templates/split_55_45_compositor.pyreads a separate filerender2.pyfrom the local filesystem and executes its contents using theexec()andcompile()functions. This dynamic execution of local source code bypasses static analysis and introduces a risk of arbitrary code execution if the target file is manipulated. - [COMMAND_EXECUTION]: The skill makes extensive use of the
subprocessmodule to execute system utilities includingffmpeg,ffprobe,whisper(for transcription), andqlmanage(for SVG conversion on macOS). These commands are used to process audio and video data throughout the pipeline. - [EXTERNAL_DOWNLOADS]: Several scripts (
fetch_brand_asset.py,fetch_figure.py,fetch_giphy.py) download external content from various domains such as GitHub, Google, Wikimedia, Giphy, and Unavatar.io. While many of these are well-known services, the skill automatically fetches assets based on spoken content in the video, which is an untrusted input. - [REMOTE_CODE_EXECUTION]: The skill exhibits a pattern of downloading external files (e.g., SVG brand assets or GIF MP4s) and immediately processing them via subprocess calls to local utilities (
qlmanage,ffmpeg). While these utilities are intended for data processing, the 'fetch-then-execute-on-file' pattern represents a potential attack vector if the downloaded data is specifically crafted to exploit vulnerabilities in the processing utilities. - [INDIRECT_PROMPT_INJECTION]: The skill has an indirect prompt injection surface as it ingests untrusted data from user-supplied video transcripts (
audio/words.json) and scraped social media captions. These inputs drive the selection of brand assets and notable figures fetched from the internet. - Ingestion points:
audio/words.json(from Whisper) and external reel captions scraped via URLs. - Boundary markers: Absent; the skill does not use specific delimiters to isolate user-supplied text from its internal logic.
- Capability inventory:
subprocess(ffmpeg, whisper, qlmanage),urllib(network access), and local file writing. - Sanitization: The
slugifyfunction is used to sanitize filenames derived from external queries.
Recommendations
- HIGH: Downloads and executes remote code from: unknown (check file) - DO NOT USE without thorough review
Audit Metadata