Skip to content
Report library
Purpose / Other

Kling 3 0 Skill Security Audit

What the author says it does (original text)

>

Independent security check

Security risks found

Files checked
1
Risks found
3
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

The prerequisite globally installs and runs an npm CLI absent from the audit material

Source references: 3
What we found

The Skill requires `npm i -g @runcomfy/cli`, then uses that CLI for login, request submission, and downloads. A global npm install modifies the user's environment and may execute package installation scripts. No package source or pinned version is supplied here, so its actual or future behavior cannot be reviewed.

Why this matters

If the package, a dependency, or a later release is compromised, installation or execution has the current user's privileges and could read accessible data, alter configuration, or use RunComfy credentials.

The prerequisites direct the user to globally install an unpinned `@runcomfy/cli`, then use it for login, authenticated submission, polling, and downloads. A global installation changes the user’s tool environment, while the supplied audit material contains only the Skill document—not the CLI source or a pinned version—so its install-time and runtime behavior cannot be verified here. This is a risk conditional on following the prerequisite, not evidence that the package is malicious. Users can require a pinned, reviewed version, restricted installation privileges, and isolated credentials and output paths.

SKILL.md:69In the instructionsOpen original file
1. **RunComfy CLI**: `npm i -g @runcomfy/cli`2. **RunComfy account**: `runcomfy login` opens a browser device-code flow.3. **CI / containers**: set `RUNCOMFY_TOKEN=<token>` instead of `runcomfy login`.4. **For i2v endpoints**: a publicly fetchable source image URL (HTTPS, JPEG/PNG/WebP).
Show 2 other places
SKILL.md:273In the instructionsOpen original file
1. The skill picks one of six Kling 3.0 endpoints based on the user's tier (Standard / Pro / 4K) and mode (t2v / i2v) intent.2. It invokes `runcomfy run kling/kling-3.0/<tier>/<mode>` with a JSON body matching the schema.3. The CLI POSTs to the RunComfy Model API with the user's bearer token.4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.5. On terminal status, the CLI fetches the Kling 3.0 result and downloads any `.runcomfy.net` / `.runcomfy.com` URL into `--output-dir`.6. `Ctrl-C` cancels the in-flight Kling 3.0 request before billing.
SKILL.md:274In the instructionsOpen original file
1. The skill picks one of six Kling 3.0 endpoints based on the user's tier (Standard / Pro / 4K) and mode (t2v / i2v) intent.2. It invokes `runcomfy run kling/kling-3.0/<tier>/<mode>` with a JSON body matching the schema.3. The CLI POSTs to the RunComfy Model API with the user's bearer token.4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.5. On terminal status, the CLI fetches the Kling 3.0 result and downloads any `.runcomfy.net` / `.runcomfy.com` URL into `--output-dir`.6. `Ctrl-C` cancels the in-flight Kling 3.0 request before billing.
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

Prompts and reference images are disclosed to a third-party service

Source references: 5
What we found

The CLI submits generation requests to RunComfy with the user's bearer token. Image-to-video additionally requires a publicly reachable image URL that RunComfy's server fetches, so prompts and reference-image content leave the local machine.

Why this matters

If prompts or images contain faces, client assets, unreleased products, locations, or other confidential material, RunComfy and the image host may receive it. Anyone who obtains a public image URL may also be able to access it.

The Skill explicitly requires a publicly reachable image URL for image-to-video and says RunComfy’s server fetches it. Generation requests, including the prompt JSON, are POSTed to RunComfy with the user’s bearer token. Thus, when a generation is actually submitted, the relevant content leaves the device for third-party processing. The supplied text does not state retention or secondary-use policies; users can withhold sensitive prompts, identifiable photos, and unpublished assets, or ask for RunComfy’s processing and deletion terms.

SKILL.md:79In the instructionsOpen original file
| `prompt` | string | yes | - | Text description of scene, motion, camera, atmosphere. Multi-segment prompts supported via `prompt_segments` for scene transitions in one Kling 3.0 generation. || `image_url` | string | yes (i2v only) | - | Source image for Kling 3.0 i2v. HTTPS URL. JPEG/PNG/WebP. || `tail_image_url` | string | no (i2v only) | - | Optional ending image for controlled start-to-end frame transition on Kling 3.0 i2v. || `negative_prompt` | string | no | - | Elements to exclude from the Kling 3.0 output. |
Show 4 other places
SKILL.md:273In the instructionsOpen original file
1. The skill picks one of six Kling 3.0 endpoints based on the user's tier (Standard / Pro / 4K) and mode (t2v / i2v) intent.2. It invokes `runcomfy run kling/kling-3.0/<tier>/<mode>` with a JSON body matching the schema.3. The CLI POSTs to the RunComfy Model API with the user's bearer token.4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.5. On terminal status, the CLI fetches the Kling 3.0 result and downloads any `.runcomfy.net` / `.runcomfy.com` URL into `--output-dir`.
SKILL.md:284In the instructionsOpen original file
- **Input boundary**: the Kling 3.0 prompt is passed as JSON via `--input`. The CLI does not shell-expand. No shell-injection surface.- **Third-party content**: image URLs you pass are fetched by the RunComfy server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any video model that accepts image inputs.- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist).
SKILL.md:72In the instructionsOpen original file
3. **CI / containers**: set `RUNCOMFY_TOKEN=<token>` instead of `runcomfy login`.4. **For i2v endpoints**: a publicly fetchable source image URL (HTTPS, JPEG/PNG/WebP).
SKILL.md:274In the instructionsOpen original file
1. The skill picks one of six Kling 3.0 endpoints based on the user's tier (Standard / Pro / 4K) and mode (t2v / i2v) intent.2. It invokes `runcomfy run kling/kling-3.0/<tier>/<mode>` with a JSON body matching the schema.3. The CLI POSTs to the RunComfy Model API with the user's bearer token.4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
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.Risks found: 1
Medium risk

Generation incurs per-second charges without a required final cost confirmation

Source references: 5
What we found

The Skill routes explicit Kling 3.0, Pro, or 4K requests here and describes invoking paid endpoints directly. The 4K rate is $0.42 per second, and the document notes that one complex 15-second generation can cost about $6.30, but it does not require showing the total estimate and obtaining confirmation before submission.

Why this matters

An agent may treat an ordinary request to generate as authorization to incur account charges immediately. Selecting 4K, audio, longer duration, or multiple variants increases the spend.

The documentation lists per-second prices and a direct submission workflow. The 4K tier costs $0.42 per second, and its own 15-second example estimates about $6.30. Although the text discloses pricing and recommends validating with Standard first, it does not require a total-cost calculation or separate confirmation before submission. An agent treating generation as already authorized could therefore incur charges immediately. Users can require tier, duration, and call-count limits plus explicit confirmation of the estimated total before each paid request.

SKILL.md:43In the instructionsOpen original file
|---|---|---|---|---|| `kling/kling-3.0/standard/text-to-video` | [Kling 3.0](https://www.runcomfy.com/models/kling/kling-3.0) Standard t2v | up to 1080p | $0.084/s | $0.126/s || `kling/kling-3.0/standard/image-to-video` | [Kling 3.0 Standard Image to Video](https://www.runcomfy.com/models/kling/kling-3.0) | up to 1080p | $0.084/s | $0.126/s || `kling/kling-3.0/pro/text-to-video` | [Kling V3.0 Pro Text-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 1080p | $0.112/s | $0.168/s || `kling/kling-3.0/pro/image-to-video` | [Kling V3.0 Pro Image-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 1080p | $0.112/s | $0.168/s || `kling/kling-3.0/4k/text-to-video` | [Kling V3.0 4K Text-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 3840x2160 | $0.42/s flat | $0.42/s flat || `kling/kling-3.0/4k/image-to-video` | [Kling V3.0 4K Image-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 3840x2160 | $0.42/s flat | $0.42/s flat |
Show 4 other places
SKILL.md:65In the instructionsOpen original file
If the user explicitly asked for Kling 3.0, Kling V3.0, Kling Pro, or Kling 4K, route to this skill regardless.
SKILL.md:189In the instructionsOpen original file
- Aspect ratios outside the supported set -> rejected.- For Kling V3.0 4K, demanding aggressive multi-shot story plus 15s plus dialogue plus 6 cuts -> Kling 3.0 will deliver, but cost climbs to about $6.30 per generation. Validate with Standard first.
SKILL.md:273In the instructionsOpen original file
1. The skill picks one of six Kling 3.0 endpoints based on the user's tier (Standard / Pro / 4K) and mode (t2v / i2v) intent.2. It invokes `runcomfy run kling/kling-3.0/<tier>/<mode>` with a JSON body matching the schema.3. The CLI POSTs to the RunComfy Model API with the user's bearer token.4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.
SKILL.md:47In the instructionsOpen original file
| `kling/kling-3.0/pro/image-to-video` | [Kling V3.0 Pro Image-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 1080p | $0.112/s | $0.168/s || `kling/kling-3.0/4k/text-to-video` | [Kling V3.0 4K Text-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 3840x2160 | $0.42/s flat | $0.42/s flat || `kling/kling-3.0/4k/image-to-video` | [Kling V3.0 4K Image-to-Video](https://www.runcomfy.com/models/kling/kling-3.0) | 3840x2160 | $0.42/s flat | $0.42/s flat |

Inside this skill

8 instruction sections

The Skill contains no bundled script; it directs the agent to globally install the third-party RunComfy CLI, sign into an account, and use one of six paid Kling endpoints to generate and download video.

View source
SKILL.md:69In the instructionsOpen original file
1. **RunComfy CLI**: `npm i -g @runcomfy/cli`2. **RunComfy account**: `runcomfy login` opens a browser device-code flow.3. **CI / containers**: set `RUNCOMFY_TOKEN=<token>` instead of `runcomfy login`.4. **For i2v endpoints**: a publicly fetchable source image URL (HTTPS, JPEG/PNG/WebP).
SKILL.md:273In the instructionsOpen original file
1. The skill picks one of six Kling 3.0 endpoints based on the user's tier (Standard / Pro / 4K) and mode (t2v / i2v) intent.2. It invokes `runcomfy run kling/kling-3.0/<tier>/<mode>` with a JSON body matching the schema.3. The CLI POSTs to the RunComfy Model API with the user's bearer token.4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.5. On terminal status, the CLI fetches the Kling 3.0 result and downloads any `.runcomfy.net` / `.runcomfy.com` URL into `--output-dir`.6. `Ctrl-C` cancels the in-flight Kling 3.0 request before billing.

Image-to-video requires a publicly reachable HTTPS image URL, which is fetched by RunComfy's server rather than processed only on the user's machine.

View source
SKILL.md:252In the instructionsOpen original file
- **Maximum 6 continuous shots** in one Kling 3.0 4K generation.- **i2v requires a publicly fetchable HTTPS image URL.** Local files are not supported.- **Aspect ratios are fixed** to the documented six. Other ratios get cropped or rejected.
SKILL.md:284In the instructionsOpen original file
- **Input boundary**: the Kling 3.0 prompt is passed as JSON via `--input`. The CLI does not shell-expand. No shell-injection surface.- **Third-party content**: image URLs you pass are fetched by the RunComfy server, not by the CLI on your machine. Treat external URLs as untrusted; image-based prompt injection is a known risk for any video model that accepts image inputs.- **Outbound endpoints**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist).

The CLI stores an access token in the user's configuration directory and writes generated results to the selected output directory. The document claims mode 0600 for the token file, but the supplied material contains no implementation code with which to verify that claim.

View source
SKILL.md:277In the instructionsOpen original file
4. The Model API returns a `request_id`; the CLI polls every 2 seconds until the Kling 3.0 generation finishes.5. On terminal status, the CLI fetches the Kling 3.0 result and downloads any `.runcomfy.net` / `.runcomfy.com` URL into `--output-dir`.6. `Ctrl-C` cancels the in-flight Kling 3.0 request before billing.
SKILL.md:282In the instructionsOpen original file
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var in CI / containers.- **Input boundary**: the Kling 3.0 prompt is passed as JSON via `--input`. The CLI does not shell-expand. No shell-injection surface.
Start here · InstructionsSKILL.md
kling-3-0
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 6 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:15In the instructionsOpen original file
  explicit ask to generate or animate with Kling 3.0.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:21In the instructionsOpen original file
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=kling-3-0) · [docs](https://docs.runcomfy.com/cli/introduction) · [GitHub](https://github.com/agentspace-so/runcomfy-agent-skills/tree/main/kling-3-0)
SKILL.md:23In the instructionsOpen original file
[Kling 3.0](https://www.runcomfy.com/models/kling/kling-3.0) is Kuaishou Technology's third-generation cinematic video model. This skill covers all six Kling 3.0 rendering endpoints on RunComfy: three quality tiers (Standard, Pro, 4K) across two modes (text-to-video and image-to-video).
Run commands
SKILL.md:92In the instructionsOpen original file
```bashruncomfy run kling/kling-3.0/standard/text-to-video \
SKILL.md:104In the instructionsOpen original file
```bashruncomfy run kling/kling-3.0/standard/image-to-video \
SKILL.md:116In the instructionsOpen original file
```bashruncomfy run kling/kling-3.0/pro/text-to-video \
Lines read
287
File checksum (to compare versions)
f38dac568567face81b0e8701fe84d3036041063a0da5b6dfcb08600af486712