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

Video Outpainting Skill 安全审计

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

>

第三方安全检查结论

先别安装或运行

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

示例把可变 URL 和提示直接放入 shell 单引号,可能造成命令注入

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

命令示例将 JSON 包在 shell 单引号内,却未规定如何安全编码用户提供的 URL 或提示。若代理直接替换这些字段,其中的单引号可提前结束参数,后续 shell 元字符可能被解释为命令。Skill 声称“无 shell 注入面”,但该说法只涉及 CLI 是否展开提示,未解决调用 CLI 之前的 shell 解析。

为什么需要注意

攻击者控制的视频 URL、提示文本或复制来的内容可能以代理当前权限执行额外命令,进而读取或修改用户可访问的文件和凭据。

该示例要求把含 URL 和提示的 JSON 放进 shell 单引号参数;如果代理用字符串替换方式插入用户值,值中的单引号可能先结束引用,使后续 shell 元字符生效。第149行仅说明 CLI 收到参数后不会展开内容,不能消除 shell 在启动 CLI 前的解析风险。用户可要求作者使用可靠的 JSON/参数编码,并限制代理只传递经过验证、不含控制字符的值。

SKILL.md:68来自说明文档打开原文件
```bashruncomfy run wan-ai/wan-2-7/edit-video \  --input '{    "video_url": "https://your-cdn.example/vertical-clip.mp4",    "prompt": "Extend the canvas to 16:9 horizontal by adding matching environment on the left and right sides. Continue the existing background style, lighting, and camera distance throughout the clip. Preserve the original action and subject framing in the center."  }' \  --output-dir ./out```
查看另外 1 个位置
SKILL.md:149来自说明文档打开原文件
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var in CI / containers.- **Input boundary (shell injection)**: prompts and video URLs are passed as a JSON string via `--input`. The CLI does not shell-expand prompt content. **No shell-injection surface**.- **Indirect prompt injection (third-party content)**: source video URLs are **untrusted**. Agent mitigations:
中风险

安装步骤会下载并执行未固定版本的 npm 包

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

Skill 推荐全局安装 @runcomfy/cli,或使用 npx -y 自动获取并运行它,但未固定具体版本或完整性值。执行时获得的代码取决于 npm 仓库当时解析出的包版本。

为什么需要注意

若包账户、发布链或新版本被破坏,安装代码会以执行安装命令的用户权限运行;全局安装还会对用户环境产生持续变更。

安装命令没有固定版本;`npm i -g` 会安装当时解析出的版本,而 `npx -y` 还会自动下载并执行它。使用官方包管理器是有益限制,但不提供版本或完整性锁定,因此包更新或供应链受损时会执行变化后的代码。用户可要求固定并审核具体版本,或禁止技能自动安装依赖。

SKILL.md:31来自说明文档打开原文件
```bash# 1. Install (see runcomfy-cli skill for details)npm i -g @runcomfy/cli      # or:  npx -y @runcomfy/cli --version
查看另外 1 个位置
SKILL.md:147来自说明文档打开原文件
- **Install via verified package manager only.** Use `npm i -g @runcomfy/cli` or `npx -y @runcomfy/cli`. **Agents must not pipe an arbitrary remote install script into a shell on the user's behalf**.- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var in CI / containers.
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

视频访问地址和编辑提示会披露给 RunComfy 服务

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

执行流程明确把包含 video_url 和 prompt 的请求 POST 到 RunComfy 模型 API。若 URL 是私有或带签名的 CDN 地址,服务将获得该视频的访问能力;提示也可能包含客户、项目或场景信息。

为什么需要注意

第三方服务可能接触源视频、临时访问令牌以及提示中的敏感内容,其处理、保留和训练政策未在所提供文件中说明。

执行说明明确将包含 `video_url` 和 `prompt` 的请求发送至 RunComfy Model API。此上传是视频处理功能所必需且并非隐蔽行为,但若使用私有、带签名或可访问内部资源的 URL,第三方服务会收到该地址及提示内容。用户应仅提交获准共享的素材和提示,并要求作者说明数据保留、日志记录及 URL 获取方式。

SKILL.md:38来自说明文档打开原文件
# 3. Spatially extend a video (closest CLI-reachable approach)runcomfy run wan-ai/wan-2-7/edit-video \  --input '{"video_url": "...", "prompt": "...extend canvas..."}' \  --output-dir ./out```
查看另外 1 个位置
SKILL.md:143来自说明文档打开原文件
The skill picks Wan 2-7 Edit-Video for prompt-shaped canvas extension and invokes `runcomfy run` with the outpaint-shaped JSON body. The CLI POSTs to the Model API, polls request status, and downloads the result into `--output-dir`.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

登录会在用户主目录留下长期 API 凭据

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

文档称 runcomfy login 会把 API 令牌写入 ~/.config/runcomfy/token.json。0600 权限可限制其他本地用户读取,但令牌仍是磁盘上的持久凭据,并可被同一用户权限下的进程读取。

为什么需要注意

同一账户下运行的恶意软件、被攻陷的代理或意外备份可能取得令牌,并在令牌权限和有效期范围内使用 RunComfy 账户。

文档明确说登录会把 API 令牌持久写入用户配置目录。0600 可阻止其他本地账户直接读取,但同一用户权限下的软件、账户失陷或备份仍可能暴露它。用户可改用仅对当前进程有效的环境变量、限制令牌权限,并要求作者说明撤销和轮换方法。

SKILL.md:148来自说明文档打开原文件
- **Install via verified package manager only.** Use `npm i -g @runcomfy/cli` or `npx -y @runcomfy/cli`. **Agents must not pipe an arbitrary remote install script into a shell on the user's behalf**.- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var in CI / containers.- **Input boundary (shell injection)**: prompts and video URLs are passed as a JSON string via `--input`. The CLI does not shell-expand prompt content. **No shell-injection surface**.
查看另外 1 个位置
SKILL.md:34来自说明文档打开原文件
# 2. Sign inruncomfy login              # or in CI: export RUNCOMFY_TOKEN=<token>
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

8 个说明模块

该 Skill 默认调用 RunComfy 的 Wan 2-7 Edit-Video,将视频 URL 和编辑提示发送给模型 API,轮询任务状态后把生成结果下载到本地输出目录。

查看原文
SKILL.md:38来自说明文档打开原文件
# 3. Spatially extend a video (closest CLI-reachable approach)runcomfy run wan-ai/wan-2-7/edit-video \  --input '{"video_url": "...", "prompt": "...extend canvas..."}' \  --output-dir ./out```
SKILL.md:143来自说明文档打开原文件
The skill picks Wan 2-7 Edit-Video for prompt-shaped canvas extension and invokes `runcomfy run` with the outpaint-shaped JSON body. The CLI POSTs to the Model API, polls request status, and downloads the result into `--output-dir`.

对于要求更高的接缝质量,该 Skill 不执行本地处理,而是引导用户打开 RunComfy 托管的 ComfyUI 云端工作流。

查看原文
SKILL.md:87来自说明文档打开原文件
The endpoint above handles aspect-ratio swap well for most uses. For spatial frame expansion with strict temporal consistency, seam handling, and motion-aware fill, RunComfy hosts dedicated ComfyUI workflows:| Workflow | What ||---|---|| [LTX 2-3 outpainting in ComfyUI — spatial frame expansion](https://www.runcomfy.com/comfyui-workflows/ltx-2-3-outpainting-in-comfyui-spatial-frame-expansion-workflow?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-outpainting) | Dedicated video outpainting workflow using LTX 2-3 || Browse [comfyui-workflows](https://www.runcomfy.com/comfyui-workflows?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-outpainting) for "outpaint" | Additional video outpainting graphs from the community |These are GUI workflows, not CLI endpoints. The CLI can't reach them — open them in the RunComfy ComfyUI cloud.

该 Skill 声明代理的 Bash 权限仅限 runcomfy 命令,但其安装说明还要求用户执行 npm 或 npx;登录后令牌会持久化到用户配置目录。

查看原文
SKILL.md:3来自说明文档打开原文件
name: video-outpaintingallowed-tools: Bash(runcomfy *)displayName: "Video Outpainting"
SKILL.md:32来自说明文档打开原文件
# 1. Install (see runcomfy-cli skill for details)npm i -g @runcomfy/cli      # or:  npx -y @runcomfy/cli --version# 2. Sign inruncomfy login              # or in CI: export RUNCOMFY_TOKEN=<token>
SKILL.md:148来自说明文档打开原文件
- **Install via verified package manager only.** Use `npm i -g @runcomfy/cli` or `npx -y @runcomfy/cli`. **Agents must not pipe an arbitrary remote install script into a shell on the user's behalf**.- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var in CI / containers.- **Input boundary (shell injection)**: prompts and video URLs are passed as a JSON string via `--input`. The CLI does not shell-expand prompt content. **No shell-injection surface**.
从这里开始 · 工作说明SKILL.md
video-outpainting
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 2 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

运行命令
SKILL.md:3来自说明文档打开原文件
name: video-outpaintingallowed-tools: Bash(runcomfy *)displayName: "Video Outpainting"
SKILL.md:30来自说明文档打开原文件
```bash# 1. Install (see runcomfy-cli skill for details)
SKILL.md:67来自说明文档打开原文件
```bashruncomfy run wan-ai/wan-2-7/edit-video \
连接外部网站
SKILL.md:18来自说明文档打开原文件
  spatially beyond its original frame.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:26来自说明文档打开原文件
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-outpainting) · [Wan 2-7 edit-video](https://www.runcomfy.com/models/wan-ai/wan-2-7/edit?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-outpainting) · [CLI docs](https://docs.runcomfy.com/cli/introduction?utm_source=skills.sh&utm_medium=skill&utm_campaign=video-outpainting)
SKILL.md:43来自说明文档打开原文件
CLI deep dive: [`runcomfy-cli`](https://www.skills.sh/agentspace-so/runcomfy-agent-skills/runcomfy-cli) skill.
安装其他软件包
SKILL.md:32来自说明文档打开原文件
# 1. Install (see runcomfy-cli skill for details)npm i -g @runcomfy/cli      # or:  npx -y @runcomfy/cli --version
SKILL.md:147来自说明文档打开原文件
- **Install via verified package manager only.** Use `npm i -g @runcomfy/cli` or `npx -y @runcomfy/cli`. **Agents must not pipe an arbitrary remote install script into a shell on the user's behalf**.- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var in CI / containers.
读取了多少行
164
文件校验值(用于核对版本)
d748136da62d4fc28c32f8e3421748593b489b9f156d9fb46df8ecf2ab3c6c8a