Back to skill

Security audit

抖音/tiktok直播录制并发布

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a straightforward local video highlight cutter, with no evidence of hidden network access, persistence, credential use, or deceptive behavior.

Install only if you are comfortable letting the skill read the video and optional ASR file paths you provide and write media outputs to the chosen directory. Use a fresh output directory for each run to avoid overwriting previous clips, segments.json, concat_list.txt, or merged_highlights.mp4.

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
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
给定本地直播录屏文件路径,使用音频能量、场景变化、音画混合、音画并集或 ASR 关键词密集度识别高光时间段,并输出多个短视频片段;可选再合并为一个高光合集视频。核心脚本为 `scripts/highlight_slicer.py`。

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill instructs the agent to read local input files, write outputs, and execute shell commands via Python and ffmpeg, but it does not declare any tool scope such as permissions or allowed-tools. This creates an authorization gap where an agent may run with broader-than-necessary capabilities, increasing the chance of unintended file access, file overwrite, or command execution beyond the user’s expected boundary.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script's natural-language interface, including argument errors and descriptions, is presented in Chinese only. Under the policy, forcing a specific language without user opt-in or documented justification is a natural-language policy violation.

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

python
"default=noprint_wrappers=1:nokey=1",
        str(video_path),
    ]
    result = subprocess.run(command, capture_output=True, text=True)
    if result.returncode != 0:
        fail(f"ffprobe 获取时长失败: {result.stderr.strip() or result.stdout.strip()}", EXIT_AUDIO_EXTRACT)

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

python
"default=noprint_wrappers=1:nokey=1",
        str(video_path),
    ]
    result = subprocess.run(command, capture_output=True, text=True)
    if result.returncode != 0:
        fail(f"ffprobe 获取时长失败: {result.stderr.strip() or result.stdout.strip()}", EXIT_AUDIO_EXTRACT)

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

python
"default=noprint_wrappers=1:nokey=1",
        str(video_path),
    ]
    result = subprocess.run(command, capture_output=True, text=True)
    if result.returncode != 0:
        fail(f"ffprobe 获取时长失败: {result.stderr.strip() or result.stdout.strip()}", EXIT_AUDIO_EXTRACT)

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

python
"default=noprint_wrappers=1:nokey=1",
        str(video_path),
    ]
    result = subprocess.run(command, capture_output=True, text=True)
    if result.returncode != 0:
        fail(f"ffprobe 获取时长失败: {result.stderr.strip() or result.stdout.strip()}", EXIT_AUDIO_EXTRACT)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script passes -y to ffmpeg and creates output files in a user-specified directory without checking for existing files, so prior clips, merged outputs, metadata, or concat manifests can be silently overwritten. In an agent setting, this can destroy user data or replace files unexpectedly, especially when output paths are reused across runs.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
86% confidence
Finding

The merge step writes a concat_list.txt containing file entries derived from clip names and invokes ffmpeg concat with -safe 0, which relaxes path safety checks. Although the generated clip names are mostly internally controlled, using an output directory chosen by the user in combination with permissive concat behavior increases the chance of unintended file references or unsafe path handling if the directory contents or filenames are manipulated.

Content

Scanner excerpt · scripts/highlight_slicer.py (reported line 590)May include surrounding context.

python
"copy",
        str(merged_path),
    ]
    result = subprocess.run(command, capture_output=True, text=True, cwd=output_dir)
    if result.returncode != 0:
        log("WARN", "无损 concat 合并失败,回退到重新编码合并")
        fallback = [