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

Gpt Image Edit Skill 安全审计

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

>

第三方安全检查结论

先别安装或运行

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

安装步骤会在本机执行第三方 npm 包并进行全局修改

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

文档要求通过 npm 全局安装 `@runcomfy/cli`,并建议通过 `npx skills add` 全局添加 Skill。npm/npx 安装可执行包安装脚本,而 `-g` 会在当前项目之外留下持久安装;提供的来源没有包含这些包的实现供审计。

为什么需要注意

如果包、其依赖或发布账户被入侵,安装过程可能以当前用户权限执行任意代码、读取可访问文件或凭据,并持久改变全局工具环境。

文档要求全局安装第三方 CLI,并展示用 `npx` 从仓库全局添加 Skill;两者都会在项目目录之外运行或安装第三方代码。所给来源没有 CLI 或安装器实现,无法核实安装脚本及其权限范围。用户可要求固定版本、审计包内容,并优先在隔离环境中安装。

SKILL.md:26来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-edit -g```
查看另外 2 个位置
SKILL.md:45来自说明文档打开原文件
1. **RunComfy CLI** — `npm i -g @runcomfy/cli`2. **RunComfy account** — `runcomfy login` opens a browser device-code flow.
SKILL.md:27来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-edit -g```
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 2 项风险
高风险

图像内容和编辑指令会披露给 RunComfy 远程服务

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

执行编辑时,CLI 会把包含提示词和图像 URL 的 JSON 请求提交到 RunComfy 模型 API,而且图像由其服务器获取。URL 必须能被公开获取,这还可能要求用户先将原本私有的图像暴露在可公开访问的位置。

为什么需要注意

人脸、产品素材、未发布广告、品牌资产、图中凭据或其他敏感内容可能离开用户控制的环境,并由第三方服务处理。公开 URL 若未受保护,还可能被知道或猜到地址的其他人访问。

执行编辑会把提示词和图像 URL 发送到 RunComfy API,并由其服务器获取图像。要求 URL 可公开获取,可能迫使用户为私有素材创建第三方可访问的链接;具体暴露程度取决于 URL 的访问控制和有效期。用户可限制为非敏感图像,并要求说明保留、训练和删除政策。

SKILL.md:55来自说明文档打开原文件
|---|---|---|---|---|| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. || `images` | string[] | yes | — | **Up to 10** publicly-fetchable HTTPS URLs. First is primary; rest are auxiliary. || `size` | enum | no | `auto` | `auto` (preserve input), `1024_1024` (1:1), `1024_1536` (2:3 portrait), `1536_1024` (3:2 landscape). |
查看另外 2 个位置
SKILL.md:175来自说明文档打开原文件
The skill invokes `runcomfy run openai/gpt-image-2/edit` with a JSON body matching the schema. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/openai/gpt-image-2/edit`, 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.
SKILL.md:181来自说明文档打开原文件
- **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.
中风险

RunComfy API 令牌会进入本机文件或进程环境

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

登录流程据称把 API 令牌写入 `~/.config/runcomfy/token.json`;CI 方案则要求使用 `RUNCOMFY_TOKEN` 环境变量。0600 可限制其他普通本地用户,但不能防止同一账户下的恶意进程、被入侵的依赖、调试转储或不安全的 CI 日志读取令牌。

为什么需要注意

令牌泄露后,其他人可能以用户的 RunComfy 身份调用服务,并消耗账户配额或产生与该账户相关的活动。

Skill 指示登录流程把令牌持久写入用户配置目录,或在 CI 中通过环境变量提供。0600 限制了其他普通账户读取文件,但同一用户权限下的进程和不当 CI 日志仍可能接触令牌。用户可使用低权限、可撤销的令牌,限制环境变量传播,并确认日志会脱敏。

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 个位置
SKILL.md:179来自说明文档打开原文件
- **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.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

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

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

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

为什么需要注意

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

安装命令引用仓库而未固定提交、标签或版本,因此日后运行同一命令时,上游内容可能已经变化。用户可要求作者提供经审计的提交哈希或固定版本,并在安装前核对来源。

SKILL.md:27来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-edit -g```
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。发现 1 项风险
低风险

不受信任的参考图像可能影响模型执行的编辑

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

Skill 明确允许外部图像 URL,并承认图像式提示注入是图像编辑模型的已知风险。若参考图像包含隐藏或误导性指令,模型结果可能偏离用户的文字要求;可见说明没有描述内容净化或结果核验机制。

为什么需要注意

生成图像可能包含未要求的文字、品牌、误导性改动或其他不期望内容。如果用户未经检查就发布或据此作决定,可能造成声誉或业务影响。

Skill 接受外部参考图像,并明确警告图像式提示注入。恶意或误导性图像可能影响生成结果,使其偏离用户指令;现有文字没有证明这会执行本机代码,也未说明自动净化或结果核验。用户可仅使用可信来源、人工检查输出,并避免依据未经核验的生成结果作敏感决定。

SKILL.md:56来自说明文档打开原文件
| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. || `images` | string[] | yes | — | **Up to 10** publicly-fetchable HTTPS URLs. First is primary; rest are auxiliary. || `size` | enum | no | `auto` | `auto` (preserve input), `1024_1024` (1:1), `1024_1536` (2:3 portrait), `1536_1024` (3:2 landscape). |
查看另外 1 个位置
SKILL.md:181来自说明文档打开原文件
- **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 逻辑拆解

8 个说明模块

此 Skill 本身只提供操作说明;可见来源中没有 CLI 实现。它要求安装第三方 RunComfy CLI,并通过该 CLI 调用远程图像编辑服务。因此,关于令牌保护、域名白名单、无遥测和下载上限的说法是文档声明,不能从所提供内容独立验证。

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

图像编辑请求将提示词和最多 10 个可公开获取的 HTTPS 图像 URL 发送给 RunComfy 的远程模型 API;结果随后被下载到用户指定的目录。

查看原文
SKILL.md:55来自说明文档打开原文件
|---|---|---|---|---|| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. || `images` | string[] | yes | — | **Up to 10** publicly-fetchable HTTPS URLs. First is primary; rest are auxiliary. || `size` | enum | no | `auto` | `auto` (preserve input), `1024_1024` (1:1), `1024_1536` (2:3 portrait), `1536_1024` (3:2 landscape). |
SKILL.md:175来自说明文档打开原文件
The skill invokes `runcomfy run openai/gpt-image-2/edit` with a JSON body matching the schema. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/openai/gpt-image-2/edit`, 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.
从这里开始 · 工作说明SKILL.md
gpt-image-edit
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 3 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

连接外部网站
SKILL.md:16来自说明文档打开原文件
  "edit with gpt image 2", or any explicit ask to edit with this model.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:22来自说明文档打开原文件
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [Edit endpoint](https://www.runcomfy.com/models/openai/gpt-image-2/edit?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [Text-to-image sibling](https://www.runcomfy.com/models/openai/gpt-image-2/text-to-image?utm_source=skills.sh&utm_medium=skill&utm_campaign=gpt-image-edit) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/gpt-image-edit)
SKILL.md:69来自说明文档打开原文件
    "prompt": "Keep the person'\''s face, pose, and brand mark unchanged. Replace the background with a soft warm-grey studio sweep and a gentle floor shadow.",    "images": ["https://.../portrait.jpg"]  }' \
运行命令
SKILL.md:26来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-edit -g
SKILL.md:65来自说明文档打开原文件
```bashruncomfy run openai/gpt-image-2/edit \
SKILL.md:76来自说明文档打开原文件
```bashruncomfy run openai/gpt-image-2/edit \
安装其他软件包
SKILL.md:27来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill gpt-image-edit -g```
读取了多少行
184
文件校验值(用于核对版本)
934438a4dfc8652b9eb3da6d19a58357c0cafa9cf38693d05c4e85c95acbdf68