text-to-speech

Pass

Audited by Gen Agent Trust Hub on Sep 15, 2026

Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The skill uses subprocess.run to invoke external binaries for core functionality. scripts/backends/lib/kokoro_round5.py and scripts/backends/lib/inject_chapters.py call ffmpeg for audio encoding and self-testing. scripts/backends/lib/pipeline.py and scripts/backends/lib/chunk_and_rewrite.py call the claude CLI to perform text-to-speech narrative rewriting (Layer 1). scripts/backends/kokoro.sh uses ln -sf to symlink Homebrew libraries to the espeakng_loader path to resolve environment-specific dylib resolution issues.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted markdown documents that are passed to an LLM for rewriting. Ingestion points: pipeline.py and chunk_and_rewrite.py read the content of user-provided markdown input files. Boundary markers: The source text is interpolated into an LLM prompt and delimited by ---SOURCE--- markers. Capability inventory: The skill can write files to the local file system and execute shell commands (claude, ffmpeg, ln). Sanitization: pipeline.py implements a validate_narrative() function as a backstop. This function checks for the presence of chapter markers, validates that the output word count is at least 20% of the source, and scans for known contamination markers that indicate the LLM may have inherited session meta-commentary.
  • [DYNAMIC_EXECUTION]: scripts/backends/kokoro.sh dynamically modifies the execution environment by symlinking Homebrew-provided library files into the site-packages directory of the espeakng_loader dependency if a runtime initialization probe fails. This is a corrective measure for a known library path resolution bug.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 15, 2026, 01:54 PM