Agent Economy Report

Skill code audit

CAUTION version 1.0.0 · audited 2026-09-17

video-frames @steipete

This skill installs as a small Bash wrapper around FFmpeg. It takes a video path, an optional --time or --index, and an --out image path, then writes one extracted frame. The package does not contact the network, read credentials, spend money, or install persistence. The main caution is that the --index value is placed into an FFmpeg filter expression without numeric validation, and FFmpeg overwrites output files automatically. These are consistent with the declared purpose but are worth a quick review.

Declared purposeExtract frames or short clips from videos using ffmpeg.
Observed behaviorThe included Bash script checks that the input file exists, creates the output directory, runs ffmpeg with -y to write a single frame image, and prints the output path. The SKILL.md files provide shell command examples using the script. No network calls, credential access, payment behavior, persistence, hidden destinations, or downloaded code were observed in the package.
Verdict, rules onlySAFE
Verdict, AICAUTION
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
shellneededThe script runs Bash and executes ffmpeg. See scripts/frame.sh line 1 and ffmpeg invocations at lines 62-78.
filesystem_readneededIt reads the input video file supplied by the caller after a file-existence check.
filesystem_writeneededIt creates the output directory and writes the extracted frame to the supplied --out path; ffmpeg uses -y to overwrite.
install_packagesneededMetadata declares ffmpeg as required and provides a brew install action if ffmpeg is missing.

Findings

severityfinding
infoDeclares ffmpeg dependency and brew install action
The metadata says ffmpeg is required and offers a brew formula install. This matches the skill's purpose of video frame extraction.
SKILL.md:5 "requires":{"bins":["ffmpeg"]},"install":[{"id":"brew","kind":"brew","formula":"ffmpeg"
infoRuns a Bash script
The packaged logic is a Bash script that invokes ffmpeg.
scripts/frame.sh:1 #!/usr/bin/env bash
infoChecks input video exists
The script checks only that the input path exists and is a regular file. It does not inspect or validate video content.
scripts/frame.sh:49 if [[ ! -f "$in" ]]; then
lowAutomatically creates output directories
The script creates parent directories for the output path. A caller can request an arbitrary path the agent can write to.
scripts/frame.sh:59 mkdir -p "$(dirname "$out")"
lowOverwrites output without confirmation
The script runs ffmpeg with -y, so an existing file at the output path is overwritten. This is normal for non-interactive image extraction but should be understood by users.
scripts/frame.sh:62 ffmpeg -hide_banner -loglevel error -y \
lowUnvalidated --index reaches FFmpeg filter expression
The --index value is placed directly into an FFmpeg filter graph string. It is not validated as a non-negative integer, so malformed or adversarial values could alter FFmpeg filter parsing. The package itself documents this risk in skill-card.md line 28.
scripts/frame.sh:64 -vf "select=eq(n\\,${index})" \
lowKnown limitation documented by publisher
The publisher warns that the index argument is not validated and recommends passing simple numeric --index values.
skill-card.md:28 Risk: The frame index argument is not validated as a non-negative integer before it is placed into the FFmpeg filter expression.

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
clawhub.ainot in the service indexskill-card.md:9
ffmpeg.orgnot in the service indexSKILL.md:4

Other facts

Binaries invokedbash
Environment variables readnone
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes0
Persistence0

Files audited

filelinessha256
SKILL.md297e24245498aca878…
_meta.json64fefcf4b4c733bbe…
scripts/frame.sh81b339455e9e618c83…
skill-card.md54ef85cae5441ac271…

For agents

JSON: https://agenteconomy.report/k/video-frames.audit.json · badge: https://agenteconomy.report/k/video-frames.audited.svg · skill rating: /k/video-frames · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).