youtube-tools
Pass
Audited by Gen Agent Trust Hub on Sep 23, 2026
Risk Level: SAFE
Full Analysis
- [COMMAND_EXECUTION]: The scripts use
subprocess.runto callyt-dlp. This is implemented safely using list-based arguments rather than string concatenation, which prevents shell injection. Additionally,download_video.pyincludes a strictvalidate_extra_argsfunction that uses a whitelist to allow safe yt-dlp flags (e.g.,--sleep-interval,--quality) while blacklisting dangerous flags like--execand--config-locationto prevent arbitrary command execution or configuration injection. - [DATA_EXFILTRATION]: The skill incorporates URL validation via a domain whitelist (
ALLOWED_DOMAINS) in all scripts to ensure requests are only sent to legitimate YouTube endpoints (e.g.,youtube.com,youtu.be). This mitigates potential SSRF risks or data exfiltration to unauthorized domains. The skill only performs network operations via the yt-dlp tool to YouTube's infrastructure. - [INDIRECT_PROMPT_INJECTION]: The skill processes external data in the form of transcripts and video metadata.
- Ingestion points:
scripts/get_transcript.py(extracts subtitles/captions) andscripts/get_video_info.py(extracts video metadata). - Boundary markers: Not explicitly present in instructions, but the output is intended for agent processing.
- Capability inventory:
subprocess.runcalls toyt-dlpand file writes restricted to.tmp/directories across all scripts. - Sanitization:
scripts/get_transcript.pyincludes aconvert_vtt_to_textfunction that removes HTML tags, timestamps, and formatting cues, which acts as a basic sanitization layer for the ingested text. - [PRIVILEGE_ESCALATION]: File system operations are restricted to a default
.tmp/youtube/directory. The scripts includevalidate_output_dirfunctions that resolve paths and verify they are within the allowed base directory, effectively preventing path traversal attacks and unauthorized writes to sensitive system locations.
Audit Metadata