Back to skill

Security audit

Video Subtitle Downloader

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward subtitle downloader with disclosed network and file-output behavior, but users should treat its dependency installation and copyright/privacy handling carefully.

Install in a virtual environment, review or pin dependency versions before use, and avoid processing private, sensitive, or copyrighted videos unless you have permission and understand the platform terms. Expect the tool to contact the relevant video platform and create local subtitle files in the configured output directory.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:42
Finding

Unpinned Third-Party Dependency Installation in Skill Instructions

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
README.md:21
Finding

Unpinned Third-Party Dependency Installation in README

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (10)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill encourages downloading and transcribing third-party video content but provides no warnings about privacy, copyright, retention, or lawful-use limitations. Users may submit private, copyrighted, or sensitive media links without understanding that subtitles or transcripts may expose personal data or violate platform/content-owner restrictions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrases are generic action verbs without scope constraints, so the skill may activate when a user is discussing subtitles or transcription rather than intentionally invoking this downloader. In a skill that can fetch and transcribe third-party video content, accidental invocation can lead to unintended network access, processing of user-supplied URLs, and privacy/copyright-sensitive actions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains natural-language descriptions and error messages only in Chinese, including the module description and dependency/install guidance. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly justified, which is not documented here.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/download_subtitle.py (reported line 16)May include surrounding context.

python
def check_dependencies():
    """检查依赖是否安装"""
    try:
        subprocess.run(['yt-dlp', '--version'], capture_output=True, check=True)
    except (subprocess.CalledProcessError, FileNotFoundError):
        print("错误:yt-dlp 未安装")
        print("请运行: pip install yt-dlp")

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/download_subtitle.py (reported line 30)May include surrounding context.

python
'--no-download',
        url
    ]
    result = subprocess.run(cmd, capture_output=True, text=True)
    if result.returncode != 0:
        print(f"获取视频信息失败: {result.stderr}")
        sys.exit(1)

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/download_subtitle.py (reported line 64)May include surrounding context.

python
'--no-download',
        url
    ]
    result = subprocess.run(cmd, capture_output=True, text=True)
    if result.returncode != 0:
        print(f"获取视频信息失败: {result.stderr}")
        sys.exit(1)

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The natural-language content of the skill documentation is effectively fixed to Chinese, with no indication that users can choose another language or that the skill is intentionally region-specific. The policy explicitly calls out language or locale constraints that are imposed without user opt-in.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

This markdown file documents fetching subtitles from external video platforms and saving outputs locally in multiple formats, including batch processing, but provides no user-facing warning about network access to third-party services or creation of local files. For markdown files, missing disclosures about actions that may affect privacy or user data can qualify as a missing warning.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The natural-language instructions, headings, and usage guidance are entirely in Chinese, which can amount to a language policy issue when no user opt-in or locale limitation is stated. The file does not indicate that the skill is intended only for a Chinese-speaking or region-specific audience.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

This Python file contains user-facing descriptions and console messages entirely in Chinese, including the module docstring, CLI help text, and runtime status/error output. For a general-purpose skill, hard-coding a single language without user opt-in can violate language/locale policy expectations.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.