Supplier Video Ad Builder

Security checks across static analysis, malware telemetry, and agentic risk

Overview

This is a coherent local video-ad builder, but a crafted config can make it write or delete files outside the intended output folder.

Use this only with configs you trust. Before running, make sure output_name is just a plain filename, verify source/audio/logo/font paths, install ffmpeg and Pillow from trusted sources, and avoid uploading extracted frames to an external image model unless you are comfortable sharing that footage.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

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

A malicious or accidental config value could overwrite files or delete an existing directory on the machine running the skill.

Why it was flagged

The config-controlled output_name is used to construct both the final output path and a directory later removed with rmtree. If output_name contains path separators, dot-dot segments, or an absolute path, the script can write or delete outside the intended output directory.

Skill content
tmp = out_dir / f'_tmp_{cfg["output_name"].replace(".mp4","")}' ... out_final = out_dir / cfg['output_name'] ... shutil.rmtree(tmp)
Recommendation

Only use trusted configs, keep output_name to a simple filename such as ad.mp4, and update the script to reject absolute paths, path separators, and '..' before writing or deleting files.

What this means

The skill may fail until dependencies are installed, and users must trust the local ffmpeg/Pillow installation they choose.

Why it was flagged

The skill needs local binaries and a Python package, but the provided install/registry metadata does not declare required binaries or pinned package versions.

Skill content
Requirements\n\n- `ffmpeg` + `ffprobe`\n- Python 3.10+: `Pillow`
Recommendation

Install dependencies from trusted package managers and consider adding explicit requirement declarations and pinned versions.

What this means

Running the skill executes local video-processing commands and reads the files named in the product config.

Why it was flagged

The skill invokes ffmpeg/ffprobe subprocesses to process local media. This is expected for a video-building skill, but it is still local command execution using user-provided media paths.

Skill content
run([\n            'ffmpeg', '-y', '-i', str(src),
Recommendation

Run it in a normal user account, review config paths before execution, and avoid processing untrusted media in privileged directories.

What this means

If an external image model is used, frames from supplier videos may be shared outside the local machine.

Why it was flagged

The workflow suggests sending extracted frames to an image model for inspection, but it does not specify whether that model is local or an external provider.

Skill content
Then analyze the frames with an image model:
Recommendation

Use a trusted/local image model when the footage is private, or confirm the provider's data handling before uploading frames.