Back to skill

Security audit

media-download

Security checks for vulnerabilities and agentic risk

Overview

The downloader fits its purpose, but its misleading assurance about browser login cookies warrants review before authenticated use.

Use anonymous downloads where possible. Before enabling authentication, understand that matching session cookies are sent to download sites, and use a dedicated browser profile or narrowly scoped cookie export. The cookie assurance should be corrected. Preinstall verified downloader versions to avoid automatic dependency retrieval.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Code capability 'network' detected in scripts/pinterest.sh but not covered by declared permissions.

High
Category
MCP Least Privilege
Confidence
75% confidence
Finding

The skill uses 'network' capability that is not covered by the declared 'allowed-tools' preapproval. Review the host runtime's actual enforcement policy; runtime permissions are unknown unless separately verified, and this declaration alone does not establish a permission ceiling.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 63)May include surrounding context.

md
## When it fails

- **Login / "authentication required" / "Cannot parse data"** on Facebook, Instagram, Threads, Reddit, Vimeo or LinkedIn: these sites often block anonymous downloads. Ask the user which browser they are logged in with, then retry `video.sh` with `-c <browser>`. Do not read browser cookies without asking. yt-dlp reads them locally and they never leave the machine.
- **"Unsupported URL" or extractor errors**: sites change often, so update the tool and retry once. Use `brew upgrade yt-dlp gallery-dl`, `yt-dlp -U` for the standalone build, or `pip install -U yt-dlp gallery-dl`.
- **YouTube is low quality or warns about a JS runtime**: install ffmpeg (`brew install ffmpeg`). For the full YouTube format list also install `deno`.
- **Pinterest returns nothing**: the query is too narrow or Pinterest is rate-limiting. Retry with a broader query, a smaller `-n`, or `-k cookies.txt`.

Browser-cookie authentication lacks an accurate warning about transmitting session credentials.

Medium
Category
Output Handling
Confidence
97% confidence
Finding

The statement that browser cookies 'never leave the machine' is misleading: yt-dlp reads cookies locally but transmits applicable cookie values in HTTP requests to authenticate with remote services. Although the skill requires asking before accessing cookies, this inaccurate assurance undermines informed consent to using sensitive session credentials; it does not, by itself, establish malicious exfiltration.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'uvx gallery-dl'.

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

Although gallery-dl is a CLI downloader rather than an MCP server, the fallback invokes an unpinned package through uvx; the pipx fallback has the same weakness. When a fallback is used, dependency resolution can introduce an unreviewed or compromised release that executes with the user's privileges and can access local files, supplied cookies, and the network.

Content

No source excerpt is available for this finding.

Browser-cookie access lacks a user-facing disclosure.

Medium
Category
Output Handling
Confidence
88% confidence
Finding

The -c option instructs yt-dlp to extract browser cookies, and -k supplies a cookie file for authenticated requests. The usage comments list these options but do not explain that they access potentially sensitive session credentials and use them when contacting matching sites; this is not inherent in ordinary video downloading.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.