Ae1
- Category
- analysis-evasion
- Confidence
- 100% confidence
- Finding
Referenced artifact was not completely inspected
- Content
md 给定本地直播录屏文件路径,使用音频能量、场景变化、音画混合、音画并集或 ASR 关键词密集度识别高光时间段,并输出多个短视频片段;可选再合并为一个高光合集视频。核心脚本为 `scripts/highlight_slicer.py`。
Security audit
Security checks for vulnerabilities and agentic risk
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.
Referenced artifact was not completely inspected
给定本地直播录屏文件路径,使用音频能量、场景变化、音画混合、音画并集或 ASR 关键词密集度识别高光时间段,并输出多个短视频片段;可选再合并为一个高光合集视频。核心脚本为 `scripts/highlight_slicer.py`。
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.
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.
subprocess module calls execute external commands. Without careful input validation, this enables command injection.
"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 calls execute external commands. Without careful input validation, this enables command injection.
"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 calls execute external commands. Without careful input validation, this enables command injection.
"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 calls execute external commands. Without careful input validation, this enables command injection.
"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)
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.
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.
"copy",
str(merged_path),
]
result = subprocess.run(command, capture_output=True, text=True, cwd=output_dir)
if result.returncode != 0:
log("WARN", "无损 concat 合并失败,回退到重新编码合并")
fallback = [