Back to skill

Security audit

YouTube Captions — FlashData

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed FlashData integration for retrieving YouTube caption tracks, with external API use and paid credits clearly described.

Install this only if you are comfortable sending the requested YouTube identifiers and caption query settings to FlashData and spending FlashData Credits. Store FLASHDATA_API_KEY in protected environment or client settings, keep it out of prompts and files, and review the pinned npm package if your environment requires strict dependency provenance.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The skill sends user-supplied query data and an API key to external FlashData endpoints, which is an actual external data transmission boundary. While this is expected for a third-party API integration and the document warns about protecting secrets, it still creates confidentiality and supply-chain risk because prompts, video IDs, locale settings, and retrieved content leave the local environment.

Content

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

md
## Connection and responses

For hosted MCP, connect `https://data.flashdata.dev/mcp` using Streamable HTTP and an `X-API-Key` header in your client's protected settings. Keep keys out of chat and committed files.

The CLI returns `{"ok":true,"tool":"youtube_captions","result":...}`; read the data inside `result`. MCP clients expose the same data in the tool response. Check errors before processing results. For a free quote, call `get_pricing` with `{"source":"youtube_captions","request_count":1}`; a quote does not run the data query.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The JSON sets the language to "en" explicitly, which is a natural-language locale constraint. Because this file provides no indication of user opt-in or region-specific justification, it may violate the policy against forcing a specific language by default.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The schema sets the language field default to en, which imposes a specific language choice when the caller does not explicitly provide one. Under the stated policy, forcing a language without user opt-in can be a natural-language policy violation unless the locale constraint is documented and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.