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

Nano Banana Edit Skill 安全审计

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

>

第三方安全检查结论

发现安全风险

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

安装步骤会全局引入并运行外部发布的软件

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

说明要求通过 npm 全局安装 RunComfy CLI,并用 `npx skills add` 从外部 GitHub 仓库全局添加 Skill;后续操作信任该 CLI 来处理账户令牌、网络请求及输出文件。材料未固定软件版本或提供依赖校验值。

为什么需要注意

如果 npm 包、仓库、发布账户或其依赖被篡改,安装或运行的软件可能以当前用户权限读取文件和凭据、修改全局工具配置或发起额外网络请求。这里没有证据表明此类篡改已经发生。

文档要求通过 npm 全局安装未固定版本的 CLI,并通过 `npx` 从外部仓库全局添加 Skill。随后该 CLI 可启动登录、保存 API 令牌、向远程 API 发请求,并把结果写入指定目录。这是实现所述服务所需的正常功能,但扩大了第三方软件对账户凭据、网络和文件写入的接触面。材料未提供版本或完整性校验;用户可要求固定并验证发布版本,并将输出限制在专用目录。

SKILL.md:24来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill nano-banana-edit -g```
查看另外 4 个位置
SKILL.md:42来自说明文档打开原文件
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:177来自说明文档打开原文件
The skill invokes `runcomfy run google/nano-banana-2/edit` with a JSON body matching the schema. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/google/nano-banana-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:23来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill nano-banana-edit -g```
SKILL.md:181来自说明文档打开原文件
- **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 项风险
中风险

输入图片会由第三方远程服务器获取和处理

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

编辑要求提交可公开获取的 HTTPS 图片地址;文档明确说明这些地址由 RunComfy 模型服务器获取,请求也会发送到 RunComfy API。因此图片内容及其 URL 会离开用户设备。

为什么需要注意

若输入包含人脸、未发布素材、客户产品、位置线索或 URL 中的访问令牌,第三方服务将能接触这些数据;使私有图片可公开获取还可能扩大暴露范围。

实际编辑要求提供 1–20 个可公开获取的 HTTPS 图片 URL;文档说明 RunComfy 服务器会获取这些 URL,并将请求提交到其模型 API。因此图片、URL 和编辑提示会交给第三方处理,公开 URL 也可能被持有链接者访问。材料未说明保留期限或后续使用政策;用户可只提交获授权、已去敏的图片,并要求服务方说明数据保留和训练政策。

SKILL.md:53来自说明文档打开原文件
| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. || `image_urls` | array | yes | — | **1–20** publicly-fetchable HTTPS URLs. || `number_of_images` | int | no | 1 | 1–4 outputs per call. |
查看另外 3 个位置
SKILL.md:177来自说明文档打开原文件
The skill invokes `runcomfy run google/nano-banana-2/edit` with a JSON body matching the schema. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/google/nano-banana-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:183来自说明文档打开原文件
- **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:52来自说明文档打开原文件
|---|---|---|---|---|| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. || `image_urls` | array | yes | — | **1–20** publicly-fetchable HTTPS URLs. || `number_of_images` | int | no | 1 | 1–4 outputs per call. || `seed` | int | no | — | Reproducibility. |
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

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

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

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

为什么需要注意

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

安装示例使用 `npx skills add` 从外部仓库全局添加 Skill,但没有指定提交、标签或版本。因此用户以后运行同一命令时,可能获得与本次所审文本不同的代码。是否实际执行以及安装内容为何,材料没有证明;用户可要求作者提供固定版本或提交及校验方式。

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

批量、多输出、多轮编辑及网页搜索可能增加远程服务费用

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

一次调用最多可请求四个输出,文档建议在结果偏移时拆成两轮,并明确网页搜索会增加费用。Skill 没有在执行示例中展示价格、预算上限或付费确认步骤。

为什么需要注意

自动化处理多个输入、反复迭代或启用网页搜索时,用户的 RunComfy 账户可能产生高于预期的用量费用。

文档允许一次调用生成 1–4 个结果,建议失败时拆成两轮,并明确说明网页搜索会增加成本和延迟。虽然它声称在相近分辨率下两轮总成本相同,但未给出价格、账户预算上限或付费确认机制。因此启用更多输出或网页搜索可能增加账单;多轮成本则取决于服务计费规则,不能仅凭材料量化。用户可要求执行前显示预计费用并限制输出数、分辨率和网页搜索。

SKILL.md:54来自说明文档打开原文件
| `image_urls` | array | yes | — | **1–20** publicly-fetchable HTTPS URLs. || `number_of_images` | int | no | 1 | 1–4 outputs per call. || `seed` | int | no | — | Reproducibility. |
查看另外 3 个位置
SKILL.md:61来自说明文档打开原文件
| `limit_generations` | bool | no | — | If true, restricts each round to one output. || `enable_web_search` | bool | no | false | Web grounding (extra cost / latency). |
SKILL.md:108来自说明文档打开原文件
**Iterate small.** If a one-pass edit drifts, split into two: pass 1 changes background only, pass 2 swaps the subject's outfit. Cleaner edits, same total cost (assuming similar resolution).
SKILL.md:159来自说明文档打开原文件
- **Long compound prompts drift** — split into multiple passes.- **Web search adds latency + cost** — only enable on demand.- **For multilingual in-image text edits, GPT Image 2 edit wins.**

Skill 逻辑拆解

8 个说明模块

该 Skill 本身只提供操作说明;实际编辑由本地 RunComfy CLI 把 JSON 请求提交给 RunComfy 的远程模型 API,轮询结果并将生成文件下载到指定目录。

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

该服务要求使用 RunComfy 账户;交互式登录会把 API 令牌保存在用户配置目录,CI 也可通过环境变量提供令牌。

查看原文
SKILL.md:43来自说明文档打开原文件
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:181来自说明文档打开原文件
- **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–20 个可公开获取的 HTTPS 图片地址,并可生成 1–4 个输出;网页搜索默认关闭。

查看原文
SKILL.md:53来自说明文档打开原文件
| `prompt` | string | yes | — | Edit instruction. Lead with preservation, end with the change. || `image_urls` | array | yes | — | **1–20** publicly-fetchable HTTPS URLs. || `number_of_images` | int | no | 1 | 1–4 outputs per call. || `seed` | int | no | — | Reproducibility. |
SKILL.md:61来自说明文档打开原文件
| `limit_generations` | bool | no | — | If true, restricts each round to one output. || `enable_web_search` | bool | no | false | Web grounding (extra cost / latency). |
从这里开始 · 工作说明SKILL.md
nano-banana-edit
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 3 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

连接外部网站
SKILL.md:13来自说明文档打开原文件
  "image edit nano banana", or any explicit ask to edit with this model.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:19来自说明文档打开原文件
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=nano-banana-edit) · [Edit endpoint](https://www.runcomfy.com/models/google/nano-banana-2/edit?utm_source=skills.sh&utm_medium=skill&utm_campaign=nano-banana-edit) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/nano-banana-edit)
SKILL.md:71来自说明文档打开原文件
    "prompt": "Keep the subject identity, pose, and clothing unchanged. Convert the background into a rainy neon cyberpunk street.",    "image_urls": ["https://.../portrait.jpg"]  }' \
运行命令
SKILL.md:23来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill nano-banana-edit -g
SKILL.md:67来自说明文档打开原文件
```bashruncomfy run google/nano-banana-2/edit \
SKILL.md:78来自说明文档打开原文件
```bashruncomfy run google/nano-banana-2/edit \
安装其他软件包
SKILL.md:24来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill nano-banana-edit -g```
读取了多少行
186
文件校验值(用于核对版本)
49d7a9af52796e3666f171471bee722863440c3af68d52f15eabbda55f55b65f