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

Gpt Image 2 Skill 安全审计

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

>

第三方安全检查结论

发现安全风险

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

安装步骤会在本机运行并全局安装第三方软件

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

说明要求通过 npm 全局安装 RunComfy CLI,并提供由 npx 执行的 Skill 安装命令。这些步骤会运行从软件包生态取得的代码,而所提供源码中没有锁定版本、校验值或 CLI 实现可供核验。

为什么需要注意

被替换、受损或未来发生变化的软件包可在执行安装或 CLI 时访问当前用户能够访问的文件和环境变量;全局安装也会在本机留下持久的软件。

前置步骤要求通过 npm 全局安装第三方 RunComfy CLI,而另一条 npx 命令也会从软件包/仓库来源执行安装。两者均未固定版本或提交,且所给材料不包含这些安装器或 CLI 的实现。因此执行时会信任届时取得的第三方代码。用户可要求固定版本、提交和完整性校验,并限制全局安装权限。

SKILL.md:24来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-2 -g```
查看另外 1 个位置
SKILL.md:45来自说明文档打开原文件
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`.
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 2 项风险
中风险

提示词和参考图片会交给第三方 RunComfy 处理

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

CLI 会把 JSON 请求发送给 RunComfy;编辑图片必须通过可公开获取的 HTTPS URL 提供,并由 RunComfy 服务器抓取。示例用途包括人脸、品牌资产和产品资料,可能包含敏感或未发布内容。

为什么需要注意

提交的数据会离开本机;把图片放在公开可获取的 URL 上还可能使任何得到该地址的人访问图片。所提供内容没有说明 RunComfy 的保留期限、训练用途、删除机制或处理地域。

实际流程会把提示词随 JSON 请求发送给 RunComfy;编辑输入还必须是可公开抓取的 HTTPS 图片 URL,并由 RunComfy 模型服务器获取。因此提示词、图片及其中的人脸、品牌或产品信息会离开本机并由第三方处理。公开 URL 还可能扩大素材的暴露范围。用户应在提交前确认内容可披露,并询问服务方的保存、训练、删除和访问政策。

SKILL.md:65来自说明文档打开原文件
| `prompt` | string | yes | — | Natural-language **edit instruction** || `images` | string[] | yes | — | **Up to 10** reference image URLs (publicly fetchable HTTPS) || `size` | enum | no | `auto` | `auto` (preserve input ratio), or one of the three fixed sizes above |
查看另外 4 个位置
SKILL.md:195来自说明文档打开原文件
1. The skill invokes `runcomfy run openai/gpt-image-2/<endpoint>` with a JSON body matching the schema above.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/openai/gpt-image-2/<endpoint>` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.
SKILL.md:209来自说明文档打开原文件
- **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:64来自说明文档打开原文件
|---|---|---|---|---|| `prompt` | string | yes | — | Natural-language **edit instruction** || `images` | string[] | yes | — | **Up to 10** reference image URLs (publicly fetchable HTTPS) || `size` | enum | no | `auto` | `auto` (preserve input ratio), or one of the three fixed sizes above |
SKILL.md:129来自说明文档打开原文件
- **State preservation goals.** "**keep** the person's pose and face identity unchanged", "**keep** the brand mark and typography on the package", "**keep** the overall framing". The model needs to know what NOT to change.- **Use directional language for spatial edits.** "Move the headline from top-right to bottom-center", not "reposition the headline".
中风险

RunComfy 账户令牌会持久保存在本机或暴露给 CLI 环境

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

浏览器登录会把 API 令牌写入用户配置目录;CI 方案则要求把令牌放入 RUNCOMFY_TOKEN。CLI 使用该令牌作为 bearer token 向 RunComfy 发请求。0600 权限限制其他本地用户读取,但运行在同一账户下的进程仍可能访问该文件或环境。

为什么需要注意

若 CLI、依赖包或同一用户权限下的其他进程被攻破,令牌可能被窃取并用于该 RunComfy 账户发起请求,可能消耗额度或访问该令牌允许的账户功能。

登录会把令牌持久写入用户配置目录;CI 方式则把令牌放入环境变量。CLI 随后用该令牌向 RunComfy 鉴权。0600 可阻止其他本地账户直接读取文件,但同一用户身份运行的软件仍可能访问该文件,获准读取进程环境的软件也可能取得环境变量。用户可限制哪些进程以该账户运行,并使用短期、可撤销且权限最小的令牌。

SKILL.md:47来自说明文档打开原文件
2. **RunComfy account** — `runcomfy login` opens a browser device-code flow.3. **CI / containers** — set `RUNCOMFY_TOKEN=<token>` instead of `runcomfy login`.
查看另外 3 个位置
SKILL.md:195来自说明文档打开原文件
1. The skill invokes `runcomfy run openai/gpt-image-2/<endpoint>` with a JSON body matching the schema above.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/openai/gpt-image-2/<endpoint>` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.
SKILL.md:207来自说明文档打开原文件
- **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:46来自说明文档打开原文件
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`.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

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

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

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

为什么需要注意

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

安装命令引用仓库和 Skill 名称,但未固定提交、标签或版本,也未提供校验值。因此以后执行同一命令时,上游内容可能已变化,用户无法仅凭本次所示源码确认实际安装的代码。用户可要求作者提供固定提交及校验方式,或在安装前审查解析出的版本。

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

模型请求可能产生 RunComfy GPU 费用,但流程未要求费用确认

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

说明明确表示取消轮询中的请求是为了避免继续为已停止的 GPU 工作计费,证明运行请求可能产生费用;调用示例没有在提交前要求显示价格、额度或取得用户确认。

为什么需要注意

如果代理自动响应模型触发词并提交请求,用户可能在未看到单次成本或预算上限的情况下消耗 RunComfy 余额;重复编辑和轮询工作流会增加这种风险。

材料明确说请求会被提交并持续轮询,也说明中断时取消请求是为了避免为已停止的 GPU 工作继续计费,足以支持调用可能产生费用。示例和流程没有要求在提交前展示价格、预算或再次确认;这不证明已收费,但自动调用时存在意外支出的合理风险。用户可要求作者说明计价方式,并限制额度或要求每次付费提交前确认。

SKILL.md:41来自说明文档打开原文件
If the user explicitly asked for GPT Image 2 / ChatGPT Image 2 / Image 2, route here regardless — don't second-guess the model choice.
查看另外 3 个位置
SKILL.md:194来自说明文档打开原文件
1. The skill invokes `runcomfy run openai/gpt-image-2/<endpoint>` with a JSON body matching the schema above.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/openai/gpt-image-2/<endpoint>` with the user's bearer token.3. The Model API returns a `request_id`; the CLI polls `GET .../requests/<id>/status` every 2 seconds.
SKILL.md:198来自说明文档打开原文件
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:102来自说明文档打开原文件
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.

Skill 逻辑拆解

8 个说明模块

该 Skill 不是直接调用 OpenAI;它通过本地 RunComfy CLI,把生成或编辑请求提交给 RunComfy 的模型 API,并持续轮询结果。

查看原文
SKILL.md:194来自说明文档打开原文件
1. The skill invokes `runcomfy run openai/gpt-image-2/<endpoint>` with a JSON body matching the schema above.2. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/openai/gpt-image-2/<endpoint>` 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.

编辑功能接受最多 10 个可公开访问的 HTTPS 图片地址;这些图片由 RunComfy 的服务器获取,而不是只在用户设备上处理。

查看原文
SKILL.md:65来自说明文档打开原文件
| `prompt` | string | yes | — | Natural-language **edit instruction** || `images` | string[] | yes | — | **Up to 10** reference image URLs (publicly fetchable HTTPS) || `size` | enum | no | `auto` | `auto` (preserve input ratio), or one of the three fixed sizes above |
SKILL.md:209来自说明文档打开原文件
- **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.

成功后,CLI 会把特定 RunComfy 域名上的结果文件下载到调用者指定的绝对路径;单个下载设有 2 GiB 上限。

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

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

连接外部网站
SKILL.md:14来自说明文档打开原文件
  this model.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:20来自说明文档打开原文件
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-2) · [Text-to-image](https://www.runcomfy.com/models/openai/gpt-image-2/text-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-2) · [Edit](https://www.runcomfy.com/models/openai/gpt-image-2/edit?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-2) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/gpt-image-2)
SKILL.md:86来自说明文档打开原文件
    "prompt": "<edit instruction>",    "images": ["https://..."]  }' \
运行命令
SKILL.md:24来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-2 -g
SKILL.md:74来自说明文档打开原文件
```bashruncomfy run openai/gpt-image-2/text-to-image \
SKILL.md:82来自说明文档打开原文件
```bashruncomfy run openai/gpt-image-2/edit \
安装其他软件包
SKILL.md:25来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-2 -g```
读取了多少行
212
文件校验值(用于核对版本)
523064ff41e962f7b9ad606f2964c5c91b69a8ed18f4ae663117be5759401080