T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:110- Finding
Automatic Retrieval and Execution of an Unverified ffmpeg Binary
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:110; corroborated byREADME.md:264,284andtest-prompts.json:12
Vulnerability Type: Unverified remote executable retrieval
Risk Level: HighVulnerable code snippet:
markdown The sub-skill handles: libass availability check, evermeet static-build fallback, Fontsize calibration, frame-check before full render, audio bed mix at 0.18.The expected test behavior makes the automatic download explicit:
json "expected": "应该:(1) 先 ffmpeg -filters | grep subtitles 验证 libass;(2) 如果 brew ffmpeg 没 libass,自动从 evermeet.cx 拉 static build 到 /tmp 而不是 brew reinstall;..."The README further states:
markdown - `ffmpeg` — any version for transcribe/dub/probe; render.py auto-fetches a libass-enabled build if the active one is stripped.Technical Analysis
The Skill directs a delegated rendering component to download a precompiled ffmpeg executable from
evermeet.cxwhen the installed ffmpeg lacks libass support. The downloaded component is subsequently used to process user media.The reviewed instructions do not require a pinned release, expected cryptographic digest, digital-signature verification, or explicit user approval. The test specification also directs the component to place the executable under
/tmp, but does not prescribe a private directory, secure file creation, ownership validation, or symlink protection.This creates a remote payload execution channel whose effective code can change after the Skill has been reviewed. Compromise of the distribution site, its release process, or the download path could substitute a malicious executable. Insecure temporary-file handling could also allow a local attacker to pre-position or replace the expected binary.
Attack Path
- A user requests subtitle burn-in or final video rendering.
- The delegated component checks the active ffmpeg installation and determines that libass ...[truncated 1075 chars]
- Remediation
View remediation
Remediation Suggestions
- Prefer a locally installed ffmpeg package obtained through a trusted, administratively managed package source.
- If downloading is unavoidable, pin an exact immutable release and verify a hardcoded SHA-256 or stronger digest before execution.
- Where available, verify a publisher signature against a bundled, trusted public key.
- Download into a newly created private directory with mode
0700, create files without following symlinks, and verify ownership and file type. - Refuse to execute the artifact if any integrity, ownership, or permission check fails.
- Require explicit user approval before downloading and executing a third-party native binary.
- Cache only verified artifacts and record the version, source URL, and verified digest in an audit log.
