T09 · Insecure Skill Coding Practices
- Location
SKILL.md:34- Finding
Potential Shell Command Injection Through Unvalidated YouTube URL Substitution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent YouTube research helper, but it tells agents to run shell commands with user-supplied URLs without clear validation safeguards.
Review this skill before installing. It is not evidence of malware, but agents using it should validate YouTube URLs, avoid shell string interpolation, run yt-dlp with argument arrays where possible, and install yt-dlp in an isolated environment. Be aware that it may create temporary subtitle files and process public YouTube comments.
SKILL.md:34Potential Shell Command Injection Through Unvalidated YouTube URL Substitution
SKILL.md:22Unpinned Third-Party Package Installation Creates Supply-Chain Exposure
The manifest description lists trigger phrases for invocation, and "video research" is generic enough to overlap with ordinary conversation unrelated to this specific YouTube skill. Because no exclusion conditions or narrowing context accompanies that phrase, it could cause unintended activation.
The instruction says to use the skill when a user "asks about YouTube content research," but it does not define what counts as content research versus general discussion about YouTube. Without clearer scope or negative examples, the activation boundary is underspecified and may lead to accidental invocation.
The workflow guide states that the skill focuses on content extraction and analysis, not downloading, and advises users to use other tools for download help. However, the transcript/subtitle instructions explicitly use yt-dlp to fetch subtitle files and write them to /tmp, which is a form of content download and local file creation. This is an active contradiction in the documented intent rather than a mere omission.
This markdown file describes comment retrieval as a supported operation but does not include any warning that the skill may collect and process comments authored by other users. For a skill handling public but user-generated data, a brief disclosure would better inform users about privacy-relevant behavior.
The transcript workflow instructs downloading subtitles to /tmp/yt-sub-%(id)s.%(ext)s, which affects the local filesystem. The markdown explains the command but does not disclose that temporary files are created and should be reviewed or cleaned up if needed.
No suspicious patterns detected.