Skip to content
Report library
Purpose / Other

Video Edit Skill Security Audit

What the author says it does (original text)

>

Independent security check

Security risks found

Files checked
1
Risks found
5
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Setup downloads and executes third-party npm software and installs the CLI globally

Source references: 3
What we found

The instructions use `npx` to install the Skill and `npm i -g` to install the RunComfy CLI globally. npm package code and installation scripts execute with the user's permissions, while no pinned versions or package source are supplied here.

Why this matters

If a resolved package version or dependency is compromised, it could access files and credentials available to the user or make persistent changes to the global npm environment.

The instructions use `npx` to obtain the Skill and an unversioned npm command to install a third-party CLI globally. This installs or runs downloaded tooling with the current user's privileges, while the supplied source does not include those dependencies for inspection. Users can isolate installation and request pinned, auditable versions.

SKILL.md:27In the instructionsOpen original file
```bashnpx skills add agentspace-so/runcomfy-skills --skill video-edit -g```
Show 2 other places
SKILL.md:49In the instructionsOpen original file
1. **RunComfy CLI** — `npm i -g @runcomfy/cli`2. **RunComfy account** — `runcomfy login`.
SKILL.md:47In the instructionsOpen original file
## Prerequisites1. **RunComfy CLI** — `npm i -g @runcomfy/cli`2. **RunComfy account** — `runcomfy login`.3. **CI / containers** — set `RUNCOMFY_TOKEN=<token>`.
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

Videos, images, and editing prompts are sent to the third-party RunComfy service

Source references: 3
What we found

The CLI submits the JSON request to RunComfy's Model API, and RunComfy's model server fetches the input media URLs. Faces, movement, audio, product packaging, and prompt text therefore leave the user's machine.

Why this matters

Sensitive, unreleased, or personal material—and URLs that grant access to it—become available to a third party and subject to its storage, logging, and retention practices.

When an edit runs, the CLI sends the prompt-containing JSON to RunComfy's API, and RunComfy's servers fetch supplied image and video URLs. Media, audio, and edit instructions therefore reach a third party. Users can avoid sensitive inputs and ask for retention, training-use, and deletion policies.

SKILL.md:217In the instructionsOpen original file
The skill picks one of Wan 2.7 Edit-Video / Kling 2.6 Pro Motion Control / Lucy Edit Restyle based on user intent and invokes `runcomfy run <model_id>` with the matching JSON body. The CLI POSTs to the Model API, polls the request, fetches the result, and downloads any `.runcomfy.net`/`.runcomfy.com` URL into `--output-dir`. `Ctrl-C` cancels the remote request before exit.
Show 2 other places
SKILL.md:223In the instructionsOpen original file
- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.- **Third-party content**: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist for generated outputs). No telemetry, no callbacks.
SKILL.md:222In the instructionsOpen original file
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600 (owner-only read/write). Set `RUNCOMFY_TOKEN` env var to bypass the file entirely in CI / containers.- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.- **Third-party content**: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist for generated outputs). No telemetry, no callbacks.
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Low risk

Generated results are written locally, with each download allowed to approach 2 GiB

Source references: 2
What we found

The CLI fetches results and downloads them into `--output-dir`. The document only states that an individual file over 2 GiB is aborted; it does not describe a cumulative limit for smaller files.

Why this matters

One or repeated generations can consume substantial local disk space and cause other applications or jobs on the same volume to fail.

Normal execution downloads remote results into a user-selected directory. The documented safeguard applies only when one file exceeds 2 GiB; no cumulative per-job limit is stated, so multiple smaller outputs could still consume substantial disk space. Users can choose a quota-limited directory and monitor free space.

SKILL.md:217In the instructionsOpen original file
The skill picks one of Wan 2.7 Edit-Video / Kling 2.6 Pro Motion Control / Lucy Edit Restyle based on user intent and invokes `runcomfy run <model_id>` with the matching JSON body. The CLI POSTs to the Model API, polls the request, fetches the result, and downloads any `.runcomfy.net`/`.runcomfy.com` URL into `--output-dir`. `Ctrl-C` cancels the remote request before exit.
Show 1 other places
SKILL.md:225In the instructionsOpen original file
- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist for generated outputs). No telemetry, no callbacks.- **Generated-file size cap**: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.Risks found: 2
Low risk

The install command does not pin a dependency version

Source references: 2
What we found

The installation command does not specify dependency versions. The same command may download different code later, so what you install can differ from what was checked.

Why this matters

A later install may download different code even though the command and this report have not changed.

The install command names a repository and Skill but pins neither a version nor a commit hash. Running it later could retrieve content different from the material reviewed here. A user can ask the author for a specific, verifiable release or commit.

SKILL.md:28In the instructionsOpen original file
```bashnpx skills add agentspace-so/runcomfy-skills --skill video-edit -g```
Show 1 other places
SKILL.md:27In the instructionsOpen original file
```bashnpx skills add agentspace-so/runcomfy-skills --skill video-edit -g```
Low risk

Login persistently stores a RunComfy API token on the machine

Source references: 3
What we found

The document says `runcomfy login` writes the token into the user's configuration directory. Mode 0600 blocks direct access by other system users, but software running as the same account can still read it; a CI environment variable can likewise leak to same-privilege processes or misconfigured logs.

Why this matters

Someone who obtains the token may submit model requests under the user's RunComfy account, consume its quota, or incur associated charges until the token is invalidated.

Login persistently writes the API token under the user's configuration directory. Mode 0600 limits other OS accounts but does not isolate software running as the same user. CI may use an environment variable instead, although the source does not show that logs expose it. Users can restrict same-account processes and use a limited, revocable token.

SKILL.md:50In the instructionsOpen original file
1. **RunComfy CLI** — `npm i -g @runcomfy/cli`2. **RunComfy account** — `runcomfy login`.3. **CI / containers** — set `RUNCOMFY_TOKEN=<token>`.4. **A source video URL** — formats and limits depend on the chosen route.
Show 2 other places
SKILL.md:221In the instructionsOpen original file
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600 (owner-only read/write). Set `RUNCOMFY_TOKEN` env var to bypass the file entirely in CI / containers.- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.
SKILL.md:49In the instructionsOpen original file
1. **RunComfy CLI** — `npm i -g @runcomfy/cli`2. **RunComfy account** — `runcomfy login`.3. **CI / containers** — set `RUNCOMFY_TOKEN=<token>`.4. **A source video URL** — formats and limits depend on the chosen route.
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.No risks found
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

8 instruction sections

The Skill selects among three RunComfy models based on the editing intent and passes the matching JSON request to the local RunComfy CLI.

View source
SKILL.md:217In the instructionsOpen original file
The skill picks one of Wan 2.7 Edit-Video / Kling 2.6 Pro Motion Control / Lucy Edit Restyle based on user intent and invokes `runcomfy run <model_id>` with the matching JSON body. The CLI POSTs to the Model API, polls the request, fetches the result, and downloads any `.runcomfy.net`/`.runcomfy.com` URL into `--output-dir`. `Ctrl-C` cancels the remote request before exit.

The routes require a video URL; the Kling route also requires a target-character image URL, while the Wan route can additionally receive a reference-image URL.

View source
SKILL.md:65In the instructionsOpen original file
| `prompt` | string | yes | — | Lead with preservation. One edit direction per call. || `video` | string | yes | — | MP4/MOV URL, 2–10s, ≤100MB. || `reference_image` | string | no | — | URL — use for direct design / appearance transfer only. || `resolution` | enum | no | (input) | `720p` or `1080p`. |
SKILL.md:121In the instructionsOpen original file
| `prompt` | string | yes | Describe target motion / style. || `image` | string | yes (image orientation) | Reference for character / background consistency. || `video` | string | yes | **Motion reference**. 10–30s depending on orientation. || `keep_original_sound` | bool | no | Preserve audio from reference video. || `character_orientation` | enum | yes | `image` (max 10s output) or `video` (max 30s output). |
SKILL.md:159In the instructionsOpen original file
|---|---|---|---|---|| `prompt` | string | yes | — | Natural-language edit instruction. || `video_url` | string | yes | — | MP4/MOV/WEBM/GIF. || `resolution` | enum | no | `720p` | `720p` only on this tier. |

Setup instructions require globally installing a third-party CLI and supplying a RunComfy token through login or an environment variable.

View source
SKILL.md:49In the instructionsOpen original file
1. **RunComfy CLI** — `npm i -g @runcomfy/cli`2. **RunComfy account** — `runcomfy login`.3. **CI / containers** — set `RUNCOMFY_TOKEN=<token>`.4. **A source video URL** — formats and limits depend on the chosen route.

The supplied material contains instructions but no CLI or installer source, so its claims about domain allowlisting, absence of telemetry, token permissions, and lack of a shell-injection surface cannot be independently verified from this material.

View source
SKILL.md:221In the instructionsOpen original file
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600 (owner-only read/write). Set `RUNCOMFY_TOKEN` env var to bypass the file entirely in CI / containers.- **Input boundary**: the user prompt is passed as a JSON string to the CLI via `--input`. The CLI does NOT shell-expand the prompt; it transmits the JSON body directly to the Model API over HTTPS. No shell injection surface from prompt content.- **Third-party content**: image / mask / video URLs you pass are fetched by the RunComfy model server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any image-edit / video-edit model.- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist for generated outputs). No telemetry, no callbacks.- **Generated-file size cap**: the CLI aborts any single download > 2 GiB to prevent disk-fill from a malicious or runaway model output.
Start here · InstructionsSKILL.md
video-edit
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 1 more sections are available in the original file.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Connect to websites
SKILL.md:17In the instructionsOpen original file
  "outfit swap video", or any explicit ask to transform a video.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:23In the instructionsOpen original file
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-edit) · [Wan 2.7 Edit-Video](https://www.runcomfy.com/models/wan-ai/wan-2-7/edit-video?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-edit) · [Kling Motion-Control Pro](https://www.runcomfy.com/models/kling/kling-2-6/motion-control-pro?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-edit) · [Lucy Edit Restyle](https://www.runcomfy.com/models/decart/lucy-edit/restyle?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-edit) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/video-edit)
SKILL.md:81In the instructionsOpen original file
    "prompt": "Preserve the speaker'\''s face, pose, and lip movement; change the background to a modern office with neutral lighting.",    "video": "https://.../speaker.mp4",    "audio_setting": "origin"
Run commands
SKILL.md:27In the instructionsOpen original file
```bashnpx skills add agentspace-so/runcomfy-skills --skill video-edit -g
SKILL.md:77In the instructionsOpen original file
```bashruncomfy run wan-ai/wan-2-7/edit-video \
SKILL.md:89In the instructionsOpen original file
```bashruncomfy run wan-ai/wan-2-7/edit-video \
Install extra software packages
SKILL.md:28In the instructionsOpen original file
```bashnpx skills add agentspace-so/runcomfy-skills --skill video-edit -g```
Lines read
226
File checksum (to compare versions)
a985e9899ff95bc1c112baa42ec19bdb680ee7153db617a9936a547f500002df