Back to skill

Security audit

X(Twitter) Video Downloader

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward X/Twitter video downloader that uses the disclosed redfox.hk API, with privacy and credential-handling caveats users should understand before use.

Install only if you are comfortable sending X/Twitter video links and your RedFox API key to redfox.hk for processing. Prefer the REDFOX_API_KEY environment variable, avoid putting keys directly in shell history, and do not submit private or sensitive links unless you accept the provider’s handling of that data.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill requires a third-party API key and implies submitted X/Twitter links will be processed by RedFoxHub, but it does not clearly warn users that provided links and associated metadata may be sent to that external service. This creates a privacy/transparency issue because users may unknowingly disclose watched, researched, or sensitive social-media targets to a third party.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The README instructs users to invoke the skill with very broad natural-language phrases such as generic requests to download or save Twitter/X videos. Broad triggers increase the chance of accidental invocation during ordinary conversation, which can cause unintended transmission of user-provided links to an external service and unexpected execution of the skill. In this context, the risk is amplified because the skill sends content to a third-party API and handles potentially sensitive browsing interests or research targets.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The security section discusses API key handling but does not warn users that tweet/X links, associated metadata, and possibly usage patterns will be sent to an external provider. Without a privacy disclosure, users may unknowingly submit sensitive targets, private research interests, or identifying metadata to a third party, creating confidentiality and compliance risks. The downloader context makes this more concerning because users may use it for monitoring, archiving, or competitive analysis workflows.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill explicitly routes user-supplied X/Twitter links through the third-party redfox.hk API, but it does not warn users that their submitted links and associated request metadata will leave the local environment. This creates a privacy and trust issue because users may unknowingly disclose browsing targets or sensitive tweet URLs to an external service.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill tells users to provide API keys via environment variable, CLI argument, or config file, but omits warnings that CLI arguments may be exposed through shell history or process listings and that config files require restrictive permissions. This increases the chance of accidental credential leakage, especially for less experienced users following the documented examples verbatim.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script sends the user-supplied X/Twitter URL and the API key to redfox.hk, a third-party service, but does not clearly warn the user that their input and credential are being disclosed externally. This creates a privacy and trust risk because tweet URLs can reveal user interests or private workflow context, and users may not realize the tool depends on a non-native external processor.

Unbounded Output

Medium
Category
Output Handling
Content
print(f"\n{GREEN}{BOLD}✓ Parsed successfully!{RESET}")

    # Full description (original text, no truncation)
    if desc:
        print(f"\n{CYAN}{BOLD}📝 Description:{RESET}")
        for line in str(desc).splitlines():
Confidence
79% confidence
Finding
The script prints unbounded description text and, in some paths, pretty-prints raw API response data directly from an untrusted remote service. A malicious or compromised API could return extremely large output or terminal control sequences, causing log flooding, terminal manipulation, or degraded usability for downstream automation.

Static analysis

No suspicious patterns detected.