Media Downloader

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: dl Version: 0.2.3 The skill is designed to download media from URLs using `yt-dlp`. While it involves network access, file system writes, and the agent sending downloaded files via Telegram, these actions are aligned with its stated purpose. Crucially, the `dl.py` script employs robust slugification (`python-slugify`) for all filenames and folder names derived from user input or media titles. This prevents path traversal and arbitrary file naming, effectively mitigating the risk of prompt injection leading to the exfiltration of sensitive system files (e.g., `~/.ssh/id_rsa`) via the agent's `message` tool, as the output path is strictly controlled and sanitized.

Findings (0)

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.

What this means

The skill can download files to your computer and use disk space in your media folders.

Why it was flagged

The skill directs the agent to run a local downloader on a user-provided URL and create files in local media folders. This matches the downloader purpose, but it is still local file and network activity.

Skill content
Run the script: `uv run --script ${baseDir}/dl.py "<url>"` ... Save into `~/Movies/` or `~/Videos/` ... `~/Music/`.
Recommendation

Use it only for URLs you intend to download, and specify an output directory if you do not want files placed in default media folders.

What this means

If a cookie file is configured, downloads may use your logged-in website session for the requested media service.

Why it was flagged

The implementation supports passing a cookie file to yt-dlp. Cookie files can represent logged-in sessions for media sites, which is sensitive but expected for some restricted downloads.

Skill content
candidates = [HERE / ".cookies.txt", os.getenv("DL_COOKIES_FILE"), os.getenv("COOKIES_FILE"), "~/.cookies.txt"] ... options["cookiefile"] = str(cookie_file)
Recommendation

Only provide narrowly scoped cookie files you are comfortable using with yt-dlp, and remove or unset them when not needed.

What this means

Running the skill may install or update third-party Python packages used by the downloader.

Why it was flagged

The uv script declares external Python dependencies, with yt-dlp unpinned and other packages using minimum versions. This is normal for this purpose but means runtime behavior can depend on package-index updates.

Skill content
# dependencies = [ "loguru>=0.7.3", "python-slugify>=8.0.4", "yt-dlp", ]
Recommendation

Run it in a trusted environment and consider pinning or locking dependency versions if you need reproducible behavior.

What this means

Downloaded audio may be sent through Telegram instead of staying only on the local machine.

Why it was flagged

The skill may transmit a downloaded audio file through the Telegram messaging tool when the session is on Telegram. This is disclosed and limited to the downloaded audio file, but it crosses a platform boundary.

Skill content
If the user is on Telegram ... Use the `message` tool to send the file to the user
Recommendation

Use the Telegram upload behavior only when you intend the downloaded file to be sent through that chat.