listening-to-music

Warn

Audited by Gen Agent Trust Hub on Oct 13, 2026

Risk Level: MEDIUMCOMMAND_EXECUTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The skill performs runtime installation of the @strudel/web package from the NPM registry into a user-specific cache directory (~/.cache/listening-to-music/) using shell commands. It also dynamically evaluates user-supplied JavaScript and HTML content within a headless Playwright browser environment to facilitate music rendering and recording.
  • [COMMAND_EXECUTION]: Several scripts execute shell commands to manage environment settings and invoke external processing utilities. common.mjs runs npm root -g and npm install, while read_score.py utilizes subprocess.run to call oemer for optical music recognition and pdftoppm for image extraction from PDFs.
  • [EXTERNAL_DOWNLOADS]: The skill fetches audio samples and library code from external sources, including the NPM registry and public GitHub repositories (such as felixroos/dough-samples and todepond/samples), to provide the necessary assets for music synthesis.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes potentially untrusted external data, such as music notation files and web content, creating a surface for indirect prompt injection due to its execution capabilities.
  • Ingestion points: Untrusted data enters via read_score.py (MIDI, MusicXML, and images), record_page.mjs (URLs/HTML), and render_strudel.mjs (JavaScript music code).
  • Boundary markers: No explicit delimiters or safety warnings are implemented to isolate instructions that might be embedded in processed music files or web data.
  • Capability inventory: The skill uses subprocess.run, execSync, and headless browser execution, which could be leveraged if malicious instructions were successfully injected.
  • Sanitization: Input data and file paths are not rigorously sanitized or validated before processing by external tools or evaluation in the browser environment.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Oct 13, 2026, 06:54 PM