Back to skill

Security audit

Media Compress

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a straightforward local ffmpeg media compressor with expected file-writing behavior and no evidence of hidden network access or persistence.

Install this only if you want local media compression and are comfortable with ffmpeg. Review any sudo package-install command yourself, use preview or test files before batch runs, and pick output paths that will not overwrite files you care about. Expect some command-line output to be in Chinese.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (21)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

A second material description/behavior inconsistency is present: the skill is presented as general-purpose media conversion, while the analyzer reports narrower or different actual functionality. Such discrepancies are dangerous because operators may authorize the skill under false assumptions, enabling unintended file transformations or data duplication.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

A second material description/behavior inconsistency is present: the skill is presented as general-purpose media conversion, while the analyzer reports narrower or different actual functionality. Such discrepancies are dangerous because operators may authorize the skill under false assumptions, enabling unintended file transformations or data duplication.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

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

md
## Prerequisites

**ffmpeg must be installed:**
- Ubuntu/Debian: `sudo apt update && sudo apt install ffmpeg`
- macOS: `brew install ffmpeg`
- Windows: Download from https://ffmpeg.org/download.html and add to PATH

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

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

md
## Prerequisites

**ffmpeg must be installed:**
- Ubuntu/Debian: `sudo apt update && sudo apt install ffmpeg`
- macOS: `brew install ffmpeg`
- Windows: Download from https://ffmpeg.org/download.html and add to PATH

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · README.md (reported line 24)May include surrounding context.

  1. Install ffmpeg:
    bash
    # Ubuntu/Debian
    sudo apt install ffmpeg
    
    # macOS
    brew install ffmpeg
    

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill documents commands that require shell execution and imply file writes, but it does not declare any explicit tool scope or permissions. In an agent setting, this weakens policy boundaries and can lead to broader-than-expected command execution or filesystem modification when the skill is invoked.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill promotes compression and batch processing without a prominent warning that compression is typically lossy and may permanently reduce quality or overwrite expected outputs. In practice, this can cause irreversible data degradation at scale, especially when users run batch commands or assume safe defaults.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
88% confidence
Finding

The documentation instructs users to run privileged installation commands with sudo. While common for package installation, embedding root-level commands in a skill increases risk because users may execute them reflexively in environments where they do not fully trust the skill or understand package/source implications.

Content

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

md
## Prerequisites

**ffmpeg must be installed:**
- Ubuntu/Debian: `sudo apt update && sudo apt install ffmpeg`
- macOS: `brew install ffmpeg`
- Windows: Download from https://ffmpeg.org/download.html and add to PATH

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The batch-processing example shows status messages entirely in Chinese, which implies the skill may force or assume a specific language for user-facing output. There is no indication elsewhere that the skill is region-specific or that users can choose their preferred language, so this conflicts with the policy against forcing a language without opt-in.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
88% confidence
Finding

The troubleshooting section again recommends sudo-based package installation, normalizing privileged execution inside the skill documentation. Repetition increases the chance that users treat root commands as routine and execute them without adequate review.

Content

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

Install ffmpeg first:

bash
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg

# macOS
brew install ffmpeg

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script emits user-facing status, error, and help text in Chinese, beginning with the ffmpeg installation guidance here and continuing throughout the CLI. This enforces a specific language for all users without opt-in or documentation that the tool is intended only for a Chinese-speaking or region-specific context.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This Python file contains user-facing output and command-line descriptions entirely in Chinese, starting with the ffmpeg installation messages and continuing throughout the script. The file does not offer a user opt-in or alternative locale, which creates a natural-language locale policy violation under the requirement to avoid forcing a specific language without user choice.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · scripts/compress_image.py (reported line 17)May include surrounding context.

python
if not shutil.which('ffmpeg'):
        print("错误:未检测到 ffmpeg")
        print("请安装:")
        print("  Ubuntu/Debian: sudo apt install ffmpeg")
        print("  macOS: brew install ffmpeg")
        print("  Windows: https://ffmpeg.org/download.html")
        sys.exit(1)

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · scripts/compress_video.py (reported line 17)May include surrounding context.

python
if not shutil.which('ffmpeg'):
        print("错误:未检测到 ffmpeg")
        print("请安装:")
        print("  Ubuntu/Debian: sudo apt install ffmpeg")
        print("  macOS: brew install ffmpeg")
        print("  Windows: https://ffmpeg.org/download.html")
        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/compress_image.py (reported line 33)May include surrounding context.

python
filepath
    ]
    try:
        result = subprocess.run(cmd, capture_output=True, text=True)
        if result.returncode == 0:
            parts = result.stdout.strip().split(',')
            return {

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

python
filepath
    ]
    try:
        result = subprocess.run(cmd, capture_output=True, text=True)
        if result.returncode == 0:
            parts = result.stdout.strip().split(',')
            return {

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

python
filepath
    ]
    try:
        result = subprocess.run(cmd, capture_output=True, text=True)
        if result.returncode == 0:
            parts = result.stdout.strip().split(',')
            return {

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

python
filepath
    ]
    try:
        result = subprocess.run(cmd, capture_output=True, text=True)
        if result.returncode == 0:
            parts = result.stdout.strip().split(',')
            return {

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The CLI interface presented by argparse is entirely in Chinese, including the command description and option help strings. Because the skill does not provide a language toggle or explain that it is intentionally limited to Chinese-speaking users, it forces a specific locale on all users.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

All headings, descriptions, and troubleshooting text are presented only in Chinese, which can be a language-policy concern when a skill or reference forces a single language without user opt-in. There is no note indicating that this is a region-specific guide or that alternative language support is available.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

This markdown guide provides many ffmpeg commands that create output files and transform user media, including batch conversion examples, but it does not include any warning that these commands write new files, may overwrite existing outputs, or should be tested on copies first. Under the markdown-specific missing-warning rule, documentation that affects user data should disclose potential data-impacting behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.