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

Nano Banana 2 Skill 安全审计

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

>

第三方安全检查结论

发现安全风险

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

安装步骤会执行并全局安装第三方软件和 Skill

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

说明要求通过 npm 全局安装 RunComfy CLI,并提供通过 npx 从 GitHub 仓库全局添加 Skill 的命令。这会在用户机器上执行和持久安装当前解析到的第三方包或仓库内容;命令没有固定版本或提交哈希。

为什么需要注意

如果上游包、依赖项或仓库内容后来被替换或被入侵,安装时可能执行非预期代码,并持续改变全局 CLI 或 Skill 配置。现有证据不能证明这种入侵已经发生。

文档给出两个持久安装步骤:通过 npx 从第三方 GitHub 仓库全局添加 Skill,以及通过 npm 全局安装 RunComfy CLI。两者均未固定版本或提交,执行时取得的代码可能随上游更新而变化。证据只说明这些是安装说明,不能证明安装已经发生。用户可要求固定版本/提交并限制全局安装。

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

图像提示词会披露给 RunComfy,网页搜索还会扩展外部处理

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

CLI 会把完整 JSON 请求发送至 RunComfy 的远程 API;启用网页搜索时,提示词还会用于网页检索。提示词可能包含未公开的产品、人物、活动或客户信息。

为什么需要注意

敏感提示词及其生成任务会离开本机并由第三方基础设施处理。文档声称限定了出站域名,但所给源码没有可独立验证这一限制的 CLI 实现。

实际工作流会把包含用户提示词的 JSON 请求发送到 RunComfy 的远程 API,因此提示词会离开本机。启用 `enable_web_search` 会增加网页检索式的外部处理、费用和延迟;但源码没有说明具体搜索提供方或提示词会被如何保存。用户应避免提交机密、客户或未公开信息,并可要求服务方说明保留和搜索处理政策。

SKILL.md:198来自说明文档打开原文件
The skill invokes `runcomfy run google/nano-banana-2/text-to-image` with a JSON body matching the schema. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/google/nano-banana-2/text-to-image`, 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.
查看另外 4 个位置
SKILL.md:68来自说明文档打开原文件
| `limit_generations` | bool | no | true | Limit each prompt round to one generation. || `enable_web_search` | bool | no | false | Adds web grounding (extra cost + latency). |
SKILL.md:205来自说明文档打开原文件
- **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.
SKILL.md:60来自说明文档打开原文件
|---|---|---|---|---|| `prompt` | string | yes | — | Subject-first description. || `num_images` | int | no | 1 | 1–4. Use 4 for ideation rounds. || `seed` | int | no | 0 | Reuse for reproducibility. || `aspect_ratio` | enum | no | `auto` | `auto`, `21:9`, `16:9`, `3:2`, `4:3`, `5:4`, `1:1`, `4:5`, `3:4`, `2:3`, `9:16`. || `resolution` | enum | no | `1K` | `0.5K` (drafts), `1K` (default), `2K` (final), `4K` (max). || `output_format` | enum | no | `png` | `png`, `jpeg`, `webp`. || `safety_tolerance` | int | no | 4 | 1 (strict) – 6 (permissive). || `limit_generations` | bool | no | true | Limit each prompt round to one generation. || `enable_web_search` | bool | no | false | Adds web grounding (extra cost + latency). |
SKILL.md:125来自说明文档打开原文件
**Consistent seeds for refinement.** Lock `seed` when iterating a single prompt across small variants — keeps composition stable.**Web-grounding, sparingly.** Turn on `enable_web_search` only when the prompt names current events / real entities. Adds latency + cost; off by default.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

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

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

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

为什么需要注意

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

该安装命令引用 GitHub 仓库和 Skill 名称,但未固定提交哈希、标签或版本。因此,用户日后运行相同命令时,可能获得不同于本次所审内容的代码。用户可要求作者提供固定提交的安装方式,并在安装前核对该提交内容。

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

宽泛的 Google/Gemini 请求会被导向需要账户且可能收费的 RunComfy 服务

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

触发条件包括“google image gen”和“gemini image”,并要求用户明确说 Gemini image 时仍路由至此。实际端点是 RunComfy 托管服务,而高分辨率和网页搜索会增加费用。

为什么需要注意

只想使用 Google/Gemini 图像能力的用户,可能在未明确选择 RunComfy 作为供应商的情况下建立第三方账户、提交数据并产生更高费用。

触发范围明确包含宽泛的“google image gen”和“gemini image”,且要求用户明确提到 Gemini image 时路由到此 Skill。实际服务是需要 RunComfy 账户/令牌的第三方托管 API;网页搜索和较高分辨率会增加费用。这可能在用户只表达模型类别、未选择供应商时影响其服务与付费决策。用户可要求先确认使用 RunComfy、分辨率及网页搜索。

SKILL.md:13来自说明文档打开原文件
  Image 2 / Flux 2 / Seedream instead. Calls  `runcomfy run google/nano-banana-2/text-to-image` through the local  RunComfy CLI. Triggers on "nano banana", "nano-banana-2", "nano banana 2",  "google image gen", "gemini image", or any explicit ask to generate  with this model.homepage: https://www.runcomfy.com
查看另外 4 个位置
SKILL.md:46来自说明文档打开原文件
If the user said "Nano Banana" / "nano-banana-2" / "Gemini image" explicitly, route here regardless. If they said "Nano Banana" without specifying 2 vs Pro, default to **Pro** for portraits and **2** for everything else.
SKILL.md:50来自说明文档打开原文件
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:179来自说明文档打开原文件
- **Max 4 outputs per request.**- **Web search adds latency + cost** — only enable on demand.- **2K / 4K cost more** — default to 1K unless user asked for higher.- **For image edit, use the `/edit` endpoint** — not this one.
SKILL.md:177来自说明文档打开原文件
- **Still images only.** No video on this endpoint.- **Max 4 outputs per request.**- **Web search adds latency + cost** — only enable on demand.- **2K / 4K cost more** — default to 1K unless user asked for higher.- **For image edit, use the `/edit` endpoint** — not this one.

Skill 逻辑拆解

8 个说明模块

该 Skill 不在本地生成图像;它把提示词提交给 RunComfy 的模型 API,轮询结果,再把生成文件下载到指定目录。

查看原文
SKILL.md:198来自说明文档打开原文件
The skill invokes `runcomfy run google/nano-banana-2/text-to-image` with a JSON body matching the schema. The CLI POSTs to `https://model-api.runcomfy.net/v1/models/google/nano-banana-2/text-to-image`, 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 CLI,并通过浏览器登录或提供环境变量形式的 API 令牌。

查看原文
SKILL.md:50来自说明文档打开原文件
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`.

文档称登录令牌保存在用户配置目录、权限为 0600;也可用环境变量避免创建该文件。

查看原文
SKILL.md:202来自说明文档打开原文件
- **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.

可选的网页搜索、高分辨率和批量输出会改变费用或用量;网页搜索默认关闭,默认分辨率为 1K。

查看原文
SKILL.md:61来自说明文档打开原文件
| `prompt` | string | yes | — | Subject-first description. || `num_images` | int | no | 1 | 1–4. Use 4 for ideation rounds. || `seed` | int | no | 0 | Reuse for reproducibility. || `aspect_ratio` | enum | no | `auto` | `auto`, `21:9`, `16:9`, `3:2`, `4:3`, `5:4`, `1:1`, `4:5`, `3:4`, `2:3`, `9:16`. || `resolution` | enum | no | `1K` | `0.5K` (drafts), `1K` (default), `2K` (final), `4K` (max). || `output_format` | enum | no | `png` | `png`, `jpeg`, `webp`. || `safety_tolerance` | int | no | 4 | 1 (strict) – 6 (permissive). || `limit_generations` | bool | no | true | Limit each prompt round to one generation. || `enable_web_search` | bool | no | false | Adds web grounding (extra cost + latency). |
SKILL.md:179来自说明文档打开原文件
- **Max 4 outputs per request.**- **Web search adds latency + cost** — only enable on demand.- **2K / 4K cost more** — default to 1K unless user asked for higher.- **For image edit, use the `/edit` endpoint** — not this one.
从这里开始 · 工作说明SKILL.md
nano-banana-2
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 3 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

连接外部网站
SKILL.md:17来自说明文档打开原文件
  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=nano-banana-2) · [Model page](https://www.runcomfy.com/models/google/nano-banana-2?utm_source=skills.sh&utm_medium=skill&utm_campaign=nano-banana-2) · [GitHub](https://github.com/agentspace-so/runcomfy-skills/tree/main/nano-banana-2)
SKILL.md:194来自说明文档打开原文件
Full reference: [docs.runcomfy.com/cli/troubleshooting](https://docs.runcomfy.com/cli/troubleshooting?utm_source=skills.sh&utm_medium=skill&utm_campaign=nano-banana-2).
运行命令
SKILL.md:27来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill nano-banana-2 -g
SKILL.md:76来自说明文档打开原文件
```bashruncomfy run google/nano-banana-2/text-to-image \
SKILL.md:84来自说明文档打开原文件
```bashruncomfy run google/nano-banana-2/text-to-image \
安装其他软件包
SKILL.md:28来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-skills --skill nano-banana-2 -g```
读取了多少行
207
文件校验值(用于核对版本)
a6e0157534d43a3627ac495bc6437aa3f26db7a6b0b9b2c2f2a495d406c54827