studio-podcastgen
Pass
Audited by Gen Agent Trust Hub on Oct 26, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes text from external files to generate narration, creating a potential attack surface for indirect instructions. \n- Ingestion points: The
readPodcastSourcefunction inscripts/lib/resolve.mjsreads content from files provided via the--sourceargument. \n- Boundary markers: No explicit delimiters or instructions are used to separate the narration text from potential embedded model instructions. \n- Capability inventory: The skill executesffmpegandffprobecommands and writes results to the local filesystem and usage logs. \n- Sanitization: Input text undergoes basic whitespace cleaning via thecleanfunction but lacks sanitization for escaping potential model instructions.\n- [COMMAND_EXECUTION]: The skill invokes external binaries for audio manipulation. Thepodcast.mjsscript usesspawnSyncto executeffmpegfor silence generation and episode assembly, andffprobefor duration verification.\n- [EXTERNAL_DOWNLOADS]: The skill fetches pricing and model data from an external API.scripts/lib/resolve.mjsperforms afetchrequest tohttps://openrouter.ai/api/v1/modelsto retrieve speech model information.\n- [DYNAMIC_EXECUTION]: The skill uses dynamic imports to load its internal toolchain modules. Theloadfunction inscripts/lib/resolve.mjsusesimport()with computed paths to load configuration, provider, and schema modules from vendor-controlled sibling directories.
Audit Metadata