T03 · Remote Payload Retrieval and Execution
- Location
scripts/render.py:52- Finding
Unsigned Third-Party FFmpeg Binary Is Automatically Downloaded and Executed
- Content
View full analysis
bool: r = subprocess.run([ff, "-filters"], capture_output=True, text=True) return any(" subtitles " in line for line in r.stdout.splitlines()) def fetch_static_ffmpeg() -> str: print("→ downloading libass-enabled ffmpeg from evermeet.cx…", file=sys.stderr) STATIC_FF.parent.mkdir(parents=True, exist_ok=True) z = "/tmp/ff_evermeet.zip" urllib.request.urlretrieve(EVERMEET_URL, z) with zipfile.ZipFile(z) as zf: zf.extractall(STATIC_FF.parent) os.chmod(str(STATIC_FF), 0o755) if not libass_ok(str(STATIC_FF)): sys.exit("static ffmpeg also lacks libass — abort") return str(STATIC_FF) ``` The returned program is subsequently used as the executable in an external process: ```python ff = pick_ffmpeg(need_libass=burn) # ... cmd = [ff, "-hide_banner", "-y", *inputs] # ... r = subprocess.run(cmd) sys.exit(r.returncode) ``` The documentation recommends the equivalent behavior: ```bash curl -fsSL -o /tmp/ff.zip https://evermeet.cx/ffmpeg/getrelease/zip unzip -o /tmp/ff.zip -d /tmp/ff_bin >/dev/null FF=/tmp/ff_bin/ffmpeg $FF -version | grep -oE -- "--enable-(libass|libfreetype)" ``` ### Technical Analysis When subtitle burn-in requires libass and the system FFmpeg does not provide it, the skill downloads a mutable ZIP archive from a third-party endpoint. It does not pin a release version, verify a cryptographic checksum, validate a publisher signature, or otherwise establish the provenance of the executable before running it. HTTPS provides transport protecti ...[truncated 1813 chars]- Remediation
View remediation
