Back to skill

Security audit

youtube-research-kit

Security checks for vulnerabilities and agentic risk

Overview

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.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:34
Finding

Potential Shell Command Injection Through Unvalidated YouTube URL Substitution

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:22
Finding

Unpinned Third-Party Package Installation Creates Supply-Chain Exposure

Content
View full analysis
= 2024.01.01 ``` ### Technical Analysis The installation command retrieves the current `yt-dlp` release and its dependency graph at installation time. It does not pin an exact reviewed version, verify artifact hashes, identify an approved package index, or use a lock file. Consequently, two installations performed at different times can obtain different code. The broad minimum-version statement does not make the installation reproducible and does not constrain the provided `pip install` command. If the package distribution account, configured Python package index, mirror, or dependency chain is compromised, an attacker-controlled artifact could be installed and subsequently executed with the user's privileges. The project contains no evidence that `yt-dlp` is currently malicious; the finding concerns the unsafe and mutable dependency installation procedure. ### Attack Path 1. A user or agent follows the documented prerequisite instructions. 2. `pip` queries its configured package index without an exact version or required artifact hash. 3. A compromised release, index, mirror, configuration, or transitive dependency supplies an attacker-controlled package artifact. 4. The package is installed into the selected Python environment. 5. Malicious package behavior executes during installation, import, or later `yt-dlp` invocation. 6. The payload operates with the permissions and accessible resources of the user or agent that performed the installation. ### Impact Assessment A compromised dependency could execute arbitrary code, access files and credentials available to the installing account, modify the Python environment, tamper with extracted research result ...[truncated 255 chars]
Remediation
View remediation
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

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.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.