跳转到正文
报告库
用途分类 / 其他用途

Flux 2 Klein Skill 安全审计

作者说它能做什么(原文)

>

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
5
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。发现 1 项风险
中风险

全局安装并运行第三方 npm 软件

原文依据:3 处
发现了什么

使用前要求执行全局 npm 安装;该包及其安装脚本会以当前用户权限运行。提供的材料没有包含 CLI 实现,因此无法从这些行验证其网络限制、令牌处理或下载行为。

为什么需要注意

若发布包、依赖或后续版本遭篡改,它可能读取当前用户可访问的文件或凭据,并修改用户级环境。

前置步骤要求全局安装第三方 npm CLI,并通过登录或环境变量向其提供账户令牌。材料没有包含该 CLI 的实现,因此无法从所给源码验证其安装脚本、令牌处理及所声称的网络边界。用户可要求可审计的锁定版本,并在隔离环境中安装,仅提供权限受限的令牌。

SKILL.md:47来自说明文档打开原文件
## Prerequisites1. **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`.
查看另外 2 个位置
SKILL.md:206来自说明文档打开原文件
1. The skill invokes `runcomfy run blackforestlabs/flux-2-klein/<variant>/text-to-image` with a JSON body matching the schema.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-2-klein/<variant>/text-to-image` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.4. On terminal status, the CLI fetches `GET .../requests/<id>/result` and downloads any URL whose host ends with `.runcomfy.net` or `.runcomfy.com` into `--output-dir`. Other URLs are listed but not fetched.5. `Ctrl-C` while polling sends `POST .../requests/<id>/cancel` so you don't get billed for GPU you stopped.
SKILL.md:219来自说明文档打开原文件
- **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.
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

提示词和参考素材会交给第三方服务处理

原文依据:3 处
发现了什么

CLI 会把 JSON 请求发送到 RunComfy;参考图片 URL 由 RunComfy 服务器获取。提示词可能包含未公开设计、客户信息或个人资料,私有 URL 还可能携带访问令牌或签名参数。

为什么需要注意

RunComfy 将能接触提交的内容和 URL 中的凭据。材料没有说明保存期限、训练用途、人员访问范围或删除机制。

技能会把提示词和用户令牌发送给 RunComfy;提供的参考图片 URL 则由其模型服务器获取。因此,提示词、图片内容以及 URL 中可能包含的签名查询参数都会离开本机。是否敏感取决于用户输入。用户可避免提交机密资料和长期有效的私有 URL,并要求服务方说明留存、训练使用和删除政策。

SKILL.md:74来自说明文档打开原文件
### Reference images (both variants)Up to **4 simultaneous reference images** are supported on the same endpoint for style transfer / guided composition. The exact field name in the JSON body is documented on the [model's API tab](https://www.runcomfy.com/models/blackforestlabs/flux-2-klein/9b/text-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=flux-2-klein) — pass it through the CLI verbatim. Reference-image use enables editing-style workflows without a separate `/edit` endpoint.
查看另外 2 个位置
SKILL.md:206来自说明文档打开原文件
1. The skill invokes `runcomfy run blackforestlabs/flux-2-klein/<variant>/text-to-image` with a JSON body matching the schema.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-2-klein/<variant>/text-to-image` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.4. On terminal status, the CLI fetches `GET .../requests/<id>/result` and downloads any URL whose host ends with `.runcomfy.net` or `.runcomfy.com` into `--output-dir`. Other URLs are listed but not fetched.5. `Ctrl-C` while polling sends `POST .../requests/<id>/cancel` so you don't get billed for GPU you stopped.
SKILL.md:221来自说明文档打开原文件
- **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.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 1 项风险
低风险

远程结果会自动写入指定的本地目录

原文依据:3 处
发现了什么

CLI 会下载结果中的所有获准域名 URL。虽然单个下载声称限制为 2 GiB,但材料没有说明任务级总大小、文件数量限制、冲突文件处理或剩余磁盘检查。

为什么需要注意

大量或接近上限的输出可能占用显著磁盘空间,并在敏感目录中留下生成内容。是否覆盖同名文件无法从提供的材料确认。

等待模式会自动把结果中获准域名的 URL 下载到用户指定目录。文档只声明单个文件超过 2 GiB 时中止,没有展示每任务文件数、累计大小、重名处理或剩余磁盘检查,因此大量或重名输出可能占用空间或影响已有文件;实际行为取决于未提供的 CLI。用户可指定空的隔离目录、限制磁盘配额,并要求作者说明累计限制与覆盖规则。

SKILL.md:109来自说明文档打开原文件
The CLI submits, polls every 2s until terminal, then downloads any `*.runcomfy.net` / `*.runcomfy.com` URL from the result into `--output-dir`. Stdout is the result JSON. Stderr is progress.
查看另外 2 个位置
SKILL.md:223来自说明文档打开原文件
- **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.
SKILL.md:209来自说明文档打开原文件
3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.4. On terminal status, the CLI fetches `GET .../requests/<id>/result` and downloads any URL whose host ends with `.runcomfy.net` or `.runcomfy.com` into `--output-dir`. Other URLs are listed but not fetched.5. `Ctrl-C` while polling sends `POST .../requests/<id>/cancel` so you don't get billed for GPU you stopped.
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

安装命令没有固定依赖版本

原文依据:2 处
发现了什么

安装命令没有指定依赖版本。同样的命令以后可能下载不同代码,你实际安装的内容可能与这次检查时不同。

为什么需要注意

即使命令和报告没变,以后安装时也可能下载到另一份代码。

安装示例从仓库按技能名获取内容,但没有固定提交哈希、标签或版本。用户以后运行同一命令时,仓库内容可能已经变化,并以全局范围安装。用户可要求作者提供经过审核的版本或提交哈希,并在安装前核对下载内容。

SKILL.md:28来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill flux-2-klein -g```
查看另外 1 个位置
SKILL.md:27来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill flux-2-klein -g```
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。发现 1 项风险
中风险

远程 GPU 任务可能产生账户费用

原文依据:2 处
发现了什么

每次调用都会创建远程模型任务,文档明确说明取消任务可避免为已停止的 GPU 工作付费,但没有在调用示例附近给出价格、预算上限或生成前确认步骤。

为什么需要注意

自动重试、反复迭代、长时间任务或忘记取消的任务可能累积非预期费用。

每次生成都会向远程 API 创建任务,文档还明确把取消与避免 GPU 计费联系起来,因此调用可能消耗账户额度或产生费用。所给材料没有展示价格、任务预算上限或提交前确认。用户可先要求明确单次及并发费用,并限制令牌额度、并发数和自动重试。

SKILL.md:206来自说明文档打开原文件
1. The skill invokes `runcomfy run blackforestlabs/flux-2-klein/<variant>/text-to-image` with a JSON body matching the schema.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-2-klein/<variant>/text-to-image` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.4. On terminal status, the CLI fetches `GET .../requests/<id>/result` and downloads any URL whose host ends with `.runcomfy.net` or `.runcomfy.com` into `--output-dir`. Other URLs are listed but not fetched.5. `Ctrl-C` while polling sends `POST .../requests/<id>/cancel` so you don't get billed for GPU you stopped.
查看另外 1 个位置
SKILL.md:49来自说明文档打开原文件
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`.

Skill 逻辑拆解

8 个说明模块

该 Skill 不是本地生成器;它要求安装第三方 RunComfy CLI,并使用 RunComfy 账户或令牌调用托管模型。

查看原文
SKILL.md:47来自说明文档打开原文件
## Prerequisites1. **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`.
SKILL.md:213来自说明文档打开原文件
## What this skill is notNot a self-hosted Flux runner. Not a capability grant — depends on a working RunComfy account. Not multi-tenant.

生成请求、提示词和用户提供的输入会通过 HTTPS 发往 RunComfy;CLI 随后轮询远程任务并下载结果。

查看原文
SKILL.md:206来自说明文档打开原文件
1. The skill invokes `runcomfy run blackforestlabs/flux-2-klein/<variant>/text-to-image` with a JSON body matching the schema.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-2-klein/<variant>/text-to-image` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.4. On terminal status, the CLI fetches `GET .../requests/<id>/result` and downloads any URL whose host ends with `.runcomfy.net` or `.runcomfy.com` into `--output-dir`. Other URLs are listed but not fetched.5. `Ctrl-C` while polling sends `POST .../requests/<id>/cancel` so you don't get billed for GPU you stopped.

登录令牌默认由外部 CLI 保存在用户配置目录;CI 也可以通过环境变量提供令牌。

查看原文
SKILL.md:219来自说明文档打开原文件
- **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
flux-2-klein
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 4 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明

代码和说明中提到的操作

连接外部网站
SKILL.md:17来自说明文档打开原文件
  generate with this model.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:23来自说明文档打开原文件
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=flux-2-klein) · [9B model](https://www.runcomfy.com/models/blackforestlabs/flux-2-klein/9b/text-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=flux-2-klein) · [4B model](https://www.runcomfy.com/models/blackforestlabs/flux-2-klein/4b/text-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=flux-2-klein) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/flux-2-klein)
SKILL.md:76来自说明文档打开原文件
Up to **4 simultaneous reference images** are supported on the same endpoint for style transfer / guided composition. The exact field name in the JSON body is documented on the [model's API tab](https://www.runcomfy.com/models/blackforestlabs/flux-2-klein/9b/text-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=flux-2-klein) — pass it through the CLI verbatim. Reference-image use enables editing-style workflows without a separate `/edit` endpoint.
运行命令
SKILL.md:27来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill flux-2-klein -g
SKILL.md:82来自说明文档打开原文件
```bashruncomfy run blackforestlabs/flux-2-klein/4b/text-to-image \
SKILL.md:90来自说明文档打开原文件
```bashruncomfy run blackforestlabs/flux-2-klein/9b/text-to-image \
安装其他软件包
SKILL.md:28来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill flux-2-klein -g```
读取了多少行
224
文件校验值(用于核对版本)
335a8c7d7f5c1f90d58a999923b1b54696e206cf9311dbeacac8c0ad2ba565b4