Youtube Transcript Local
Analysis
The skill mostly matches its YouTube transcript purpose, but it can automatically install software at runtime and overstates its safety claims.
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.
print("Installing yt-dlp...")
subprocess.check_call([sys.executable, "-m", "pip", "install", "yt-dlp"])If yt-dlp is missing, the skill installs a package at runtime without a pinned version or separate install spec, which can unexpectedly modify the user's Python environment.
cmd = [
self.yt_dlp_path,
"--write-sub",
"--sub-lang", lang,
"--skip-download",
"--convert-subs", "srt",
"-o", str(output_template),
url
]The skill passes a user-provided URL to yt-dlp and writes subtitle files. This is central to the stated purpose and uses an argument list rather than shell interpolation, so it is a purpose-aligned note rather than a concern.
**本地安全的 YouTube 字幕提取工具** - 無需外部 API,無安全風險
The documentation makes absolute 'no security risk' claims even though the artifacts show network-dependent yt-dlp use, local caching, and possible runtime package installation.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
self.output_dir = Path(output_dir) if output_dir else Path.cwd() / "transcripts" self.cache_dir = Path(cache_dir) if cache_dir else Path.cwd() / ".cache" ... json.dump(info, f, ensure_ascii=False, indent=2)
The skill persistently stores transcripts and video metadata locally. This is expected for transcript extraction, but it leaves a record of processed videos and retrieved content.
