Back to skill

Security audit

video-editing

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent local video-editing guide, but it recommends unattended, unpinned external installs that can change the agent environment.

Review the install commands before running them. Prefer pinned versions or reviewed commits, avoid broad `--full-depth` or full-suite installs unless you actually need them, and run external render tools in a project-limited environment without unnecessary secrets. Use new output filenames or remove `-y` from ffmpeg commands when preserving prior media matters.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
references/combination-hyperframes.md:182
Finding
Unaudited Third-Party Dependencies Are Downloaded and Executed Through npx## Vulnerability Details **File Location**: `references/combination-hyperframes.md:89-95, 182-187`; related installation instructions also appear in `SKILL.md:18-20, 41-51, 97-106` **Vulnerability Type**: Third-party supply-chain exposure through automatic dependency retrieval and execution **Risk Level**: Medium ### Vulnerable Code Snippets `references/combination-hyperframes.md:89-95`: ```markdown | Skill | Description | Install | | --- | --- | --- | | `hyperframes` | Entry point for HTML → MP4 composition — routes to product-launch-video, general-video, and related workflows. | `npx skills add heygen-com/hyperframes@hyperframes -y` | Full HyperFrames bundle (all domain skills): `npx skills add heygen-com/hyperframes --full-depth -y` ``` `references/combination-hyperframes.md:182-187`: ```json "scripts": { "check": "npx --yes hyperframes@0.7.68 check", "render": "npx --yes hyperframes@0.7.68 render" } ``` `SKILL.md:97-106`: ```markdown | Skill | Description | Install | | --- | --- | --- | | `generation-diversity` | Use when writing any generative prompt — ritual seed, explicit structure, scenario axes, and quality gates before paid API calls. | `npx skills add PrunaAI/pruna-skills@generation-diversity -y` | | `whisperx` | Use when someone needs word-level timestamps from audio — lyric alignment, cut-safe line boundaries, or caption source timing before burn-in with video-editing. | `npx skills add PrunaAI/pruna-skills@whisperx -y` | | `stable-audio-2.5` | Use when someone wants light instrumental background music — an ambient bed under dialogue or underscore for reels and explainers. | `npx skills add PrunaAI/pruna-skills@stable-audio-2.5 -y` | | `gemini-3.1-flash-tts` | Use when someone needs spoken narration or voiceover — explainer tracks, documentary lines, or voice to pair with generated video. | `npx skills add PrunaAI/pruna-skills@gemini-3.1-flash-tts -y` | | `audio-prompting` | Use when crafting TTS, music, or bed prompts for any generativ ...[truncated 2974 chars]
Remediation
## Remediation Suggestions 1. Pin every external Skill to an immutable, reviewed commit hash rather than a mutable branch, tag, or Skill selector. 2. Retain exact npm package versions and add a committed lockfile containing registry integrity hashes. 3. Use `npm ci` with a pre-reviewed dependency tree instead of allowing `npx` to resolve and execute packages dynamically during a workflow. 4. Vendor critical rendering dependencies or use internally mirrored packages whose provenance and integrity are controlled. 5. Verify package signatures, checksums, publisher identity, and transitive dependencies before execution. 6. Remove unattended `-y` and `--yes` behavior where practical. Require explicit user approval before downloading or executing external code. 7. Run external rendering tools in a sandbox or container with: - Access restricted to the required project directory. - No access to unrelated home-directory files. - Secrets removed from the environment unless strictly required. - Network access disabled after dependency acquisition where feasible. - Resource limits and a non-privileged user. 8. Document the precise external versions and hashes that were security-reviewed so future agents can detect dependency drift.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (25)

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The skill instructs users to run `npx skills add ...` without pinning the `skills` package or tool version. Because `npx` resolves and executes code from the registry at runtime, an upstream compromise, typosquat, or unexpected latest-version change could cause arbitrary code execution on the operator’s machine.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This line recommends invoking `npx skills add ...` without a pinned version for the `skills` runner. Unpinned runtime package execution increases supply-chain risk because the command may fetch and execute whatever version is current at the time of use.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The installation example uses `npx skills` with no version constraint, so the executed package is not reproducible or fixed. If the package or one of its resolution paths is compromised, the user may run attacker-controlled code simply by following the skill instructions.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This is another unpinned `npx skills` invocation, which carries the same supply-chain and arbitrary code execution risk. The danger comes from executing a network-resolved package/tool at runtime without controlling which version is installed.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The command uses `npx skills` without a fixed version, making installs dependent on registry state at execution time. That exposes users to malicious publishes, dependency hijacking, or breaking changes that can execute code during install or invocation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This line contains an unpinned `npx`-based install instruction. Since `npx` may download and run packages immediately, lack of version pinning creates a realistic software supply-chain risk rather than a purely theoretical documentation issue.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The skill references `npx skills` as a generic install mechanism without version control. In a security-sensitive review, this is dangerous because a user following the docs implicitly trusts current registry contents and executes them locally.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
An unpinned `npx skills` command appears here as well. If exploited through upstream package compromise or name confusion, the result could be local arbitrary command execution under the privileges of the person running the install command.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This installation example is vulnerable for the same reason: it relies on unpinned `npx` execution. The skill context matters because these are direct operator instructions, increasing the likelihood that users will copy-paste and execute them verbatim.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The line instructs use of `npx skills add ...` without pinning the invoked tool version. That makes the command susceptible to supply-chain attacks and non-deterministic behavior, both of which are problematic in installation documentation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This related-skill install command again uses bare `npx skills`, exposing users to execution of whatever version resolves at runtime. Because the command is framed as an approved way to extend capabilities, it creates repeated opportunities for unsafe copy-paste execution.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The documentation references an unpinned `npx skills` command, which is a true supply-chain risk. A compromised package, dependency, or registry resolution path could result in unintended code running during installation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This line repeats the same unsafe pattern of unpinned runtime package execution through `npx`. The risk is amplified by repetition: more commands in docs means more chances a user executes one without scrutiny.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The command uses `npx` to execute a mutable package name without version pinning. That is dangerous because package resolution happens at execution time and may pull compromised or unexpected code from the ecosystem.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
This is another true positive for unpinned `npx skills` usage. While likely not malicious, it normalizes a risky installation pattern that could lead to code execution on systems following the skill documentation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The line recommends an installation command that does not constrain the version of the executed package/tool. This creates a classic documentation-driven supply-chain exposure with local execution consequences if the package source is compromised.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding
The full-suite install command also uses bare `npx skills`, so it has the same unpinned remote execution risk as the other findings. Because it encourages installing a broader bundle, compromise here could have wider local impact through additional fetched components.

Missing User Warnings

Medium
Confidence
85% confidence
Finding
The section 'Mux external audio onto video' describes adding narration, and the command maps only the video from the first input and audio from the second input. This effectively replaces or drops any original audio from `concat_video.mp4`, but the markdown does not clearly warn the user about that potentially irreversible media change.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The burn-in example uses `ffmpeg -y`, which forces overwriting output files and can replace existing media without prompting. In this markdown guidance, there is no explicit warning near the command that it will overwrite `../output_captioned.mp4` if it already exists.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
Both example extraction commands include `ffmpeg -y`, which will silently replace an existing `audio_16k.wav`. The document does not warn users that rerunning these commands can destroy a prior extracted file.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The soft subtitle example uses `ffmpeg -y`, which can silently overwrite `soft_subbed.mp4`. Because this markdown file provides runnable commands, it should disclose that the operation replaces existing files if they already exist.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The document instructs users to execute `npx skills add heygen-com/hyperframes@hyperframes -y`, which fetches and runs a remote package/toolchain without pinning an immutable version of the `skills` CLI. An attacker controlling or compromising the latest published package or a dependency resolution path could cause arbitrary code execution on the operator machine during install, and this skill explicitly encourages that action as part of the workflow.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The "full bundle" command `npx skills add heygen-com/hyperframes --full-depth -y` expands the trust boundary further by recursively installing additional remote skills, again through an unpinned `npx skills` entrypoint. This increases supply-chain risk because both the installer version and the transitive remote skill set may change over time, potentially introducing malicious code or unexpected capabilities.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding
This line repeats the recommendation to run `npx skills add heygen-com/hyperframes@hyperframes -y`, normalizing execution of a non-version-pinned remote installer in a production workflow guide. Because the surrounding context is an operational setup document, users are likely to copy-paste the command directly, making exploitation practical if the upstream package or its dependencies are compromised.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The markdown includes multiple ffmpeg examples using `-y`, which forces overwriting output files without prompting. While these commands are central to the skill's purpose, the document does not explicitly warn users that existing output files such as `reel.mp4` may be replaced automatically.

Static analysis

No suspicious patterns detected.