Back to skill

Security audit

zhz-subtitle

Security checks for vulnerabilities and agentic risk

Overview

The skill appears intended for transcription and bilingual subtitle generation, but it uses unsafe generated-code execution and automatic dependency/model downloads that deserve review before installation.

Install only if you are comfortable with the skill running local shell commands, creating subtitle working files, downloading Whisper models, and potentially installing faster-whisper from package infrastructure. Review or change the generated-translation step so it writes JSON directly instead of executing a generated Python file, and require explicit approval before any dependency installation.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (15)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

Although the core mismatch claim may be overstated, the skill does omit meaningful runtime behavior: automatic pip installation and use of a HuggingFace mirror endpoint. Undisclosed network access and package installation expand the attack surface and can surprise users or agents operating under stricter trust assumptions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

Although the core mismatch claim may be overstated, the skill does omit meaningful runtime behavior: automatic pip installation and use of a HuggingFace mirror endpoint. Undisclosed network access and package installation expand the attack surface and can surprise users or agents operating under stricter trust assumptions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

Although the core mismatch claim may be overstated, the skill does omit meaningful runtime behavior: automatic pip installation and use of a HuggingFace mirror endpoint. Undisclosed network access and package installation expand the attack surface and can surprise users or agents operating under stricter trust assumptions.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

Although the core mismatch claim may be overstated, the skill does omit meaningful runtime behavior: automatic pip installation and use of a HuggingFace mirror endpoint. Undisclosed network access and package installation expand the attack surface and can surprise users or agents operating under stricter trust assumptions.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill instructs the agent to generate and execute a Python script from subtitle/translation content, creating an unnecessary code-execution step in a workflow that should only serialize data. If untrusted transcript or translation text is embedded into executable Python source, crafted content can break out of string context or otherwise turn data handling into arbitrary code execution.

Content

No source excerpt is available for this finding.

os.system() or os exec-family call

High
Category
Dangerous Code Execution
Confidence
92% confidence
Finding

The script invokes a shell to run pip at runtime using os.system, which introduces command-execution risk and performs a networked dependency change during normal use. Even though the interpolated value is sys.executable rather than direct user input, shell invocation plus implicit package installation can be abused in compromised environments and violates least surprise for a transcription tool.

Content

Scanner excerpt · scripts/transcribe.py (reported line 44)May include surrounding context.

python
from faster_whisper import WhisperModel
    except ImportError:
        print("正在安装 faster-whisper...", file=sys.stderr)
        os.system(f"{sys.executable} -m pip install faster-whisper -q")
        from faster_whisper import WhisperModel
    
    audio = Path(audio_path)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill clearly instructs use of shell commands, file reads/writes, environment variables, and dependency installation, but it declares no explicit tool scope or permissions. That increases the chance an agent will execute broader capabilities than users expect, reducing containment and auditability.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Broad triggers like '转录', 'subtitle', and '语音转文字' can match many ordinary conversations, causing the skill to activate in contexts where users did not intend file operations, shell execution, dependency installation, or network downloads. Overbroad activation increases the chance of accidental tool use and unsafe automation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill writes multiple output files, creates working directories, and may persist intermediate artifacts without prominently warning the user in the description. Hidden filesystem side effects can expose sensitive media-derived text, create clutter, or cause agents to modify directories users did not expect.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The docstring, comments, status output, and usage message are written in Chinese throughout the script. This imposes a specific language on users without opt-in or any indication that the skill is intended only for a Chinese-speaking or region-specific context, which matches the language/locale policy violation criteria.

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/extract_audio.py (reported line 49)May include surrounding context.

python
]
    
    print(f"正在提取音频:{video.name}")
    result = subprocess.run(cmd, capture_output=True, text=True)
    
    if result.returncode != 0:
        print(f"错误:ffmpeg 执行失败:\n{result.stderr}", file=sys.stderr)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest describes the skill as supporting '双语字幕生成' (bilingual subtitle generation), but the implemented logic only transcribes audio and writes one SRT file containing the original recognized text. There is no translation step, no second language track, and no bilingual subtitle composition in this file.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Automatically installing packages at runtime is outside the expected scope of a transcription script and causes unreviewed code retrieval and execution from external package infrastructure. In the skill context, this is more dangerous because the tool processes local files and users may run it in trusted environments expecting only offline transcription behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The script executes an installation command after only a generic status message, without explicit warning, confirmation, or disclosure of the security implications. This reduces user awareness and can lead to silent execution of network-dependent code changes in environments where package provenance, mirrors, or indexes may be untrusted.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains docstrings, usage text, status messages, and error reporting entirely in Chinese. Under the policy rule for natural-language violations, forcing a specific language without user opt-in is a locale policy issue because users are not given any alternative language or configuration choice.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.