Subtitle Generator
Analysis
The subtitle-generation function is mostly purpose-aligned, but it needs review because it auto-installs unpinned packages, gives broad cleanup/process-control instructions, and can overwrite or delete local files.
Findings (4)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
result = subprocess.run([str(pip_path), "install", "-r", str(requirements_path)], ...)
At runtime the skill can create a persistent virtual environment and install dependencies automatically; requirements.txt lists unpinned packages, so the installed code can change without a pinned provenance trail.
任务完成后(进程退出码为 0 或出错)**必须 kill 相关进程** ... 清理 `/tmp` 中的临时文件
The mandatory workflow tells the agent to kill related processes and clean /tmp, but does not define exact process IDs or skill-owned file paths.
def _extract_audio(... output_audio: str = "audio.wav") ... .overwrite_output() ... audio_path.unlink(missing_ok=True)
The audio extraction uses a fixed filename in the current working directory, overwrites it, and deletes it afterward.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
notify_msg = f"【字幕生成完成】\n文件:{result_path.name}\n条数:{processor.last_segment_count}\n路径:{result_path}"Completion notifications include the generated file name and local path, which are passed through the OpenClaw event/message flow.
