lov-media-preprocessor

Pass

Audited by Gen Agent Trust Hub on Oct 18, 2026

Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONPERSISTENCE
Full Analysis
  • [COMMAND_EXECUTION]: The skill makes extensive use of the subprocess module to execute external binaries including ffmpeg, ffprobe, and xcrun (the Swift compiler). These calls are used for media probing, transcoding, and quality analysis. The commands are constructed using list arguments which effectively mitigates shell injection risks, though they operate on user-provided file paths.
  • [DYNAMIC_EXECUTION]: The skill performs dynamic execution in two ways: it compiles a Swift source file (render_metal.swift) at runtime to provide GPU-accelerated video processing on macOS, and the test script check_workflow.py dynamically generates a temporary Python script (fake-whisper) to serve as a mock for ASR testing.
  • [INDIRECT_PROMPT_INJECTION]: The skill is designed to process and act upon untrusted data in the form of ASR transcripts.
  • Ingestion points: Transcripts generated by Whisper or supplied by the host are read into the agent's context from transcript.json in media_preprocessor.py.
  • Boundary markers: The SKILL.md instructions explicitly define boundaries for the agent, requiring it to be conservative, mark uncertain content for manual review, and stating that technical quality scores do not substitute for editorial judgment.
  • Capability inventory: The skill possesses file-writing and command-execution capabilities used to generate the final media assets and HTML preview pages.
  • Sanitization: The generated gallery.html uses html.escape and JSON.stringify to sanitize transcript data before rendering it in the browser.
  • [PERSISTENCE]: The profile_store.py script establishes persistence by managing a user profile located in the user's home directory (e.g., ~/.config/agent-skills/profile.json). This file stores durable preferences and skill-specific records across sessions using atomic write operations. The script includes a filter to prevent the storage of sensitive keys like token, secret, or api_key.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 18, 2026, 04:28 PM