youtube-notetaker
Pass
Audited by Gen Agent Trust Hub on Sep 3, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes external data from YouTube, including video titles and transcripts, which are stored in local Markdown files and subsequently read by the agent.
- Ingestion points:
scripts/download.shfetches metadata and subtitles usingyt-dlp;scripts/vtt_to_transcript.pyprocesses the resulting VTT files into plain text. - Boundary markers: Transcripts are placed under a
## Transcriptheader in the generated Markdown files. While this provides structure, there are no explicit 'ignore embedded instructions' warnings for the AI agent. - Capability inventory: The skill uses
subprocess.runto executeffmpegandyt-dlpinscripts/extract_slides.pyandscripts/contact_sheet.py. It also includes a local web server (scripts/serve.py) that can modify Markdown files viaPATCHrequests. - Sanitization:
scripts/vtt_to_transcript.pyincludes amarkdown_textfunction that escapes special markdown characters and HTML entities to ensure the ingested text remains inert. - [COMMAND_EXECUTION]: The skill relies on external command-line utilities to perform video and image processing tasks.
- Evidence:
scripts/extract_slides.pyandscripts/contact_sheet.pyusesubprocess.runto invokeffmpeg. The arguments for these calls, such as timestamps, are validated as floats or rounded numbers to prevent injection. - Evidence: Shell scripts like
scripts/download.shandscripts/detect_slides.shinvokeyt-dlpandffmpeg. Input YouTube IDs are validated against a strict 11-character regular expression. - [EXTERNAL_DOWNLOADS]: The skill downloads media and metadata from external servers as part of its core functionality.
- Evidence:
scripts/download.shutilizesyt-dlpto fetch video files and subtitles from YouTube. - Evidence:
scripts/setup.shmakes network requests to the YouTube oembed API to verify if a video allows embedding.
Audit Metadata