Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

video-download

v0.1.6

Download videos from 1800+ websites and generate subtitles using Faster Whisper AI. Use when user wants to download videos from YouTube, Bilibili, Twitter, T...

3· 1.7k·11 current·12 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for upupc/video-download.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "video-download" (upupc/video-download) from ClawHub.
Skill page: https://clawhub.ai/upupc/video-download
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: python, ffmpeg
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install upupc/video-download

ClawHub CLI

Package manager switcher

npx clawhub@latest install video-download
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description (download videos + generate subtitles) aligns with required binaries (python, ffmpeg), the listed pip packages (yt-dlp, ffmpeg-python, faster-whisper), and the included script (scripts/video_parser.py). The supported-sites list is long but consistent with yt-dlp usage; authentication via cookiefile is documented where necessary.
Instruction Scope
Runtime instructions tell the agent to run the included Python script with JSON parameters. The script reads URLs, output paths, and optional cookie cookies/cookiefile inputs, downloads videos, extracts audio, and transcribes locally using Faster Whisper. It does not (in the visible code) reach out to unexpected endpoints beyond package/model downloads, but SKILL.md contains detected unicode control characters (prompt-injection signal) which may be an attempt to manipulate an LLM-based evaluator/agent. Also note the skill accepts browser cookie inputs or cookiefile paths — those can contain sensitive auth data and should only be provided intentionally.
Install Mechanism
The registry record shows no automated install spec, but SKILL.md includes a pip install recommendation for standard public packages (yt-dlp, yt-dlp-ejs, ffmpeg-python, faster-whisper, tqdm). There are no obscure download URLs or extracted archives. Faster-Whisper will download models from HuggingFace on first run (large, multi-GB), which is expected but significant (network usage, storage).
Credentials
The skill declares no required environment variables or external credentials. It does accept cookie/cookiefile/cookiesfrombrowser parameters (user-supplied), which are necessary for authenticated downloads on some sites but are sensitive — the skill does not declare or require unrelated credentials.
Persistence & Privilege
The skill is not always-enabled and uses default autonomous invocation settings. It does not request system-wide modifications or other skills' configs. No elevated persistence or unusual privileges are requested.
Scan Findings in Context
[unicode-control-chars] unexpected: Unicode control characters in SKILL.md are not needed for a video-download/transcribe skill and can be used to influence LLM behavior (prompt injection). Treat this as a warning to inspect the markdown and any instructions closely.
What to consider before installing
This skill generally appears to do what it says: it uses yt-dlp to download videos and Faster Whisper to transcribe them. Before installing or running it: 1) Inspect SKILL.md and scripts locally — the pre-scan flagged unicode control characters which can be used to manipulate LLMs; remove or verify them. 2) Do not supply browser cookies or cookiefile paths unless you understand the risk: cookies may include session tokens that grant account access. Prefer using temporary or narrowly scoped credentials. 3) Run pip installs in an isolated environment (virtualenv, container) and verify package sources (yt-dlp, faster-whisper are common but third-party forks exist). 4) Expect large model downloads from HuggingFace (multi-GB) and ensure you have bandwidth/storage; consider running in a sandbox. 5) Be aware of legal/DRM issues for premium services (Netflix, Disney+, etc.); success may require valid authenticated sessions and may still fail due to DRM. 6) If you plan to allow the agent to invoke the skill autonomously, limit exposure: do not store or expose sensitive cookies or credentials to the skill without a clear need. If you want a safer posture, ask the publisher for provenance (source repo, signed releases) or prefer a skill with a known trusted origin.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎬 Clawdis
Binspython, ffmpeg
latestvk977rr57tj90v44bsr5hvx6end82dmk0
1.7kdownloads
3stars
7versions
Updated 20h ago
v0.1.6
MIT-0

Video Download & Subtitle Generation

This skill downloads videos from 1800+ websites and generates subtitles using Faster Whisper AI.

Supported Websites

This skill supports downloading from virtually any video website thanks to yt-dlp. Some popular ones include:

Video Platforms:

  • YouTube, YouTube Shorts
  • Bilibili (哔哩哔哩), Niconico (ニコニコ動画)
  • TikTok, Douyin (抖音)
  • Twitter/X, Facebook, Instagram
  • Vimeo, Dailymotion
  • Twitch (clips, VODs), Kick
  • Rutube, VK Video

Chinese Platforms:

  • iQiyi (爱奇艺), Youku (优酷), MangoTV (芒果TV)
  • Weibo Video, Douyu (斗鱼), Huya (虎牙)

International:

  • Netflix, Disney+, HBO Max, Amazon Prime Video
  • BBC iPlayer, ITV, Channel 4
  • ARD, ZDF, Arte

For the complete list of 1800+ supported sites, see: yt-dlp supported extractors Local document about supported sites: references/supportedsites.md

Important: If you see an error like Sign in to confirm you’re not a bot, you should use the cookiefile parameter for authenticated downloads. See the cookiefile usage section at the end of this document.

Prerequisites

Ensure the following Python packages are installed:

  • yt-dlp - For downloading videos from any supported site
  • yt-dlp-ejs - External JavaScript for yt-dlp supporting many runtimes
  • ffmpeg-python - For audio extraction
  • faster-whisper - For speech-to-text transcription (faster and more memory-efficient than openai-whisper). Note: The first run will download models from HuggingFace (default: small, ~3GB). A VPN is required for mainland China users.
  • tqdm - For progress bar display during transcription

Install via pip:

pip install yt-dlp yt-dlp-ejs ffmpeg-python faster-whisper tqdm

ffmpeg must also be installed on your system

Usage

Command Line

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads"}'

Parameters

ParameterTypeRequiredDescription
urlsarrayYesList of video URLs from any supported website
outputstringNoOutput directory (default: "./downloads")
modelstringNoFaster Whisper model size: tiny, base, small, medium, large, large-v2, large-v3, turbo (default: "small")
transcribebooleanNoWhether to transcribe video to subtitle (default: true)
subtitle_formatstringNoSubtitle format: txt, srt, vtt, json (default: "txt")
download_subtitlebooleanNoDownload video's built-in subtitles if available (default: false)
onlysubtitlebooleanNoOnly download subtitles. When true, the script uses skip_download + writesubtitles + writeautomaticsub internally (default: false)
overwrite_subtitlebooleanNoOverwrite existing subtitle files (default: true, set to false to skip if exists)
cookiestringNoCookie header string; injected into http_headers.Cookie (default: "")
cookiesfrombrowserstringNoRead cookies from browser (default: ""; injected only when non-empty)
cookiefilestringNoNetscape-format cookie file path (default: ""; injected only when non-empty)

Output

The skill will:

  1. Create a folder for each video (named after the video title)
  2. Download the video file to that folder
  3. Extract audio as WAV file
  4. Generate transcript using Faster Whisper
  5. Save subtitle as .txt file

Output structure:

downloads/
└── Video Title/
    ├── Video Title.mp4
    ├── Video Title.wav
    └── Video Title.txt

Examples

Download YouTube video:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"output":"./my_videos"}'

Download Bilibili video:

python scripts/video_parser.py '{"urls":["https://www.bilibili.com/video/BV1xx411c7XD"],"output":"./downloads"}'

Download TikTok video:

python scripts/video_parser.py '{"urls":["https://www.tiktok.com/@username/video/1234567890"],"output":"./tiktok"}'

Download multiple videos from different sites:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO1","https://www.bilibili.com/video/BV1xx","https://twitter.com/user/status/123"],"output":"./videos"}'

Download Twitch clip:

python scripts/video_parser.py '{"urls":["https://www.twitch.tv//channel/clip/ClipName"],"output":"./clips"}'

Download only (without transcription):

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","transcribe":false}'

Generate SRT subtitle:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","subtitle_format":"srt"}'

Generate VTT subtitle:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","subtitle_format":"vtt"}'

Download video with built-in subtitles:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","download_subtitle":true}'

Download with custom Faster Whisper model:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","model":"large"}'

Skip transcription if subtitle already exists:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","overwrite_subtitle":false}'

Download video with Cookie:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookie":"sid=xxx; token=yyy"}'

Download video with cookies from browser:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiesfrombrowser":"chrome"}'

Download video with cookie file:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/path/to/cookies.txt"}'

Only download subtitles:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","onlysubtitle":true,"cookiefile":"/path/to/cookies.txt"}'

cookiefile usage:

python scripts/video_parser.py '{"urls":["https://www.youtube.com/watch?v=VIDEO_ID"],"output":"./downloads","cookiefile":"/Users/yourname/Downloads/cookies.txt"}'

Troubleshooting

  • ffmpeg not found: Install ffmpeg via brew install ffmpeg (macOS) or your system's package manager
  • Faster Whisper model download fails: Models are downloaded from HuggingFace. Mainland China users need a VPN/proxy to download models. The default small model is ~75MB.
  • Download fails: Some videos may be geo-restricted, age-gated, or unavailable. Check the video URL and try again.
  • Cookie/auth required: Some sites need authentication. You can pass cookies via yt-dlp options if needed.

Comments

Loading comments...