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

Elevenlabs Music Generation Skill 安全审计

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

>

第三方安全检查结论

先别安装或运行

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

示例的单引号命令包装与“任何引号都不会注入”的保证不相符

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

示例把整个 JSON 放进 shell 单引号。若代理直接把用户歌词插入该位置,歌词中的单引号会先被 shell 解析,CLI 所谓“不展开提示词”并不能保护 shell 层。文档却明确声称连引号和 `$(...)` 都没有注入面。

为什么需要注意

恶意或意外构造的歌词可能截断参数并让本机执行额外 shell 命令,从而读取或修改用户可访问的数据。

调用示例用 shell 单引号包住 JSON,而技能面向用户提供的歌词和提示词。若代理通过字符串拼接把含 `'` 的内容直接放入该模板,单引号会在 CLI 收到 JSON 前终止,后续文本可能被 shell 解释。第176行的绝对保证只描述 CLI 收到内容后的行为,不能证明这种 shell 构造安全。用户可要求使用参数数组、临时 JSON 文件或可靠的 JSON/shell 转义。

SKILL.md:84来自说明文档打开原文件
```bashruncomfy run elevenlabs/elevenlabs/music-generation \  --input '{    "prompt": "Upbeat indie-pop anthem, bright electric guitars, driving drums, 120 BPM, female lead vocal. [Intro 8 bars] instrumental build. [Verse] Chalk on the palms, laces double-knotted, morning on the ridge. [Chorus] We rise, we strike, we never fade out. [Bridge] soft breakdown, just piano and voice. [Outro] full band, fade.",    "music_length_ms": 60000  }' \  --output-dir ./out```
查看另外 3 个位置
SKILL.md:176来自说明文档打开原文件
- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var to bypass the file in CI / containers. Never echo the token into a prompt, log it, or check it in.- **Input boundary (shell injection)**: the prompt is passed as a JSON string via `--input`. The CLI does not shell-expand prompt content; it transmits the JSON body directly to the Model API over HTTPS. **No shell-injection surface from prompt content**, even with backticks, quotes, or `$(...)` patterns.- **Lyrics provenance**: if the user supplies lyrics, confirm they have the rights to them. Generating music around copyrighted lyrics is the operator's responsibility — the skill does not check.
SKILL.md:85来自说明文档打开原文件
```bashruncomfy run elevenlabs/elevenlabs/music-generation \  --input '{    "prompt": "Upbeat indie-pop anthem, bright electric guitars, driving drums, 120 BPM, female lead vocal. [Intro 8 bars] instrumental build. [Verse] Chalk on the palms, laces double-knotted, morning on the ridge. [Chorus] We rise, we strike, we never fade out. [Bridge] soft breakdown, just piano and voice. [Outro] full band, fade.",    "music_length_ms": 60000  }' \  --output-dir ./out```
SKILL.md:119来自说明文档打开原文件
ElevenLabs Music reads **one `prompt` field** that carries both the style brief and the lyrics. Structure it well:
中风险

安装步骤执行未锁定版本的第三方包,并可进行全局安装

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

文档要求通过 `npx skills add` 安装远程技能,并提供 `npm i -g @runcomfy/cli` 或 `npx -y`。这些命令会执行当时解析到的包代码,且未固定版本;全局安装还会持久修改用户环境。

为什么需要注意

若包、发布账户或依赖链被篡改,安装代码可获得当前用户权限。后续版本变化也可能在没有审阅的情况下改变行为。

文档给出两个未锁定的安装面:从远程仓库全局添加技能,以及全局安装或通过 `npx -y` 即时执行 CLI。它们会取得执行时解析到的第三方代码;全局安装还会持久改变用户环境。安全说明称这些是一次性人工设置,并不能消除安装风险。用户可要求固定包版本、提交哈希,并优先采用隔离安装。

SKILL.md:31来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-agent-skills --skill elevenlabs-music-generation -g```
查看另外 4 个位置
SKILL.md:37来自说明文档打开原文件
```bash# 1. Install (one of — see runcomfy-cli skill for details)npm i -g @runcomfy/cli                              # global installnpx -y @runcomfy/cli --version                      # zero-install
SKILL.md:32来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-agent-skills --skill elevenlabs-music-generation -g```
SKILL.md:39来自说明文档打开原文件
# 1. Install (one of — see runcomfy-cli skill for details)npm i -g @runcomfy/cli                              # global installnpx -y @runcomfy/cli --version                      # zero-install
SKILL.md:180来自说明文档打开原文件
- **Generated-file size cap**: the CLI aborts any single download > 2 GiB.- **Scope of bash usage**: the skill only invokes `runcomfy <subcommand>` — `npm` / `npx` lines are one-time operator setup, not commands the skill executes per call.
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

提示词和歌词会发送给第三方服务

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

技能把完整 JSON 请求提交到 RunComfy Model API;提示词字段同时包含风格说明与歌词。所给材料没有可核验的保留期限、训练使用政策或删除机制。

为什么需要注意

如果提示词包含未发布歌词、客户资料、品牌计划或其他机密内容,这些内容会离开本机并由外部服务处理。

文档明确说明提示词字段包含风格说明和歌词,CLI 会把 JSON POST 到 RunComfy Model API。因此,输入的歌词及可能包含的未公开创作内容会离开本机。所给隐私章节列出端点,但没有说明服务端保留期限、训练用途或删除机制;用户可在提交敏感或未发布内容前索取这些政策或限制输入。

SKILL.md:119来自说明文档打开原文件
ElevenLabs Music reads **one `prompt` field** that carries both the style brief and the lyrics. Structure it well:
查看另外 2 个位置
SKILL.md:170来自说明文档打开原文件
The skill invokes `runcomfy run elevenlabs/elevenlabs/music-generation` with the JSON body. The CLI POSTs to the RunComfy Model API, polls request status, fetches the result, and downloads the generated audio file into `--output-dir`. `Ctrl-C` cancels the remote request before exit.
SKILL.md:178来自说明文档打开原文件
- **Lyrics provenance**: if the user supplies lyrics, confirm they have the rights to them. Generating music around copyrighted lyrics is the operator's responsibility — the skill does not check.- **Outbound endpoints (allowlist)**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist for generated audio). No telemetry, no callbacks.- **Generated-file size cap**: the CLI aborts any single download > 2 GiB.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

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

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

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

为什么需要注意

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

安装指令引用远程技能仓库但没有提交哈希或版本号。因此,用户在不同时间运行同一命令时,可能取得不同代码。此证据只表明安装不可复现,并不证明当前包有恶意行为;用户可要求作者提供固定版本或提交标识。

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

“commercial-friendly”并不能证明生成音频已获得商业使用许可

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

技能反复把输出描述为适合商业使用,并把“royalty-free music”作为触发词,但没有提供输出许可条款或权利保证。MIT 标注只明确出现在技能元数据中,不应被当作音频许可;文档也承认版权歌词责任由操作者承担。

为什么需要注意

用户若仅依赖这些宣传语发布或销售音频,可能遭遇版权、平台下架、客户违约或额外授权费用。

技能把输出称为“commercial-friendly”,也以“royalty-free music”触发使用,但提供的文本没有音频输出许可条款或权利保证。元数据中的 MIT 只能证明技能声明了该许可证,不能据此推定生成音频也适用 MIT。文档还明确把用户提供歌词的版权责任交给操作者。因此,用户不应仅凭这些营销表述作商业授权决定,应向服务方索取适用于生成音频的许可、归属及赔偿条款。

SKILL.md:17来自说明文档打开原文件
  track", "ElevenLabs Music", "soundtrack", "jingle", "theme music",  "royalty-free music", "compose", or any explicit ask to generate  music or a song from a text description.homepage: https://www.runcomfy.comlicense: MIT---
查看另外 4 个位置
SKILL.md:61来自说明文档打开原文件
- **Long-form tracks** — up to 5 minutes in a single call- **Commercial work** — output is commercial-friendly
SKILL.md:177来自说明文档打开原文件
- **Input boundary (shell injection)**: the prompt is passed as a JSON string via `--input`. The CLI does not shell-expand prompt content; it transmits the JSON body directly to the Model API over HTTPS. **No shell-injection surface from prompt content**, even with backticks, quotes, or `$(...)` patterns.- **Lyrics provenance**: if the user supplies lyrics, confirm they have the rights to them. Generating music around copyrighted lyrics is the operator's responsibility — the skill does not check.- **Outbound endpoints (allowlist)**: only `model-api.runcomfy.net` (request submission) and `*.runcomfy.net` / `*.runcomfy.com` (download whitelist for generated audio). No telemetry, no callbacks.
SKILL.md:11来自说明文档打开原文件
  (Intro / Verse / Chorus / Bridge), multilingual vocals, and  commercial-friendly output. Generate a backing track, a full vocal  song, a jingle, a podcast intro, a game loop, or an instrumental  bed. Calls `runcomfy run elevenlabs/elevenlabs/music-generation`  through the local RunComfy CLI. Triggers on "generate music",  "make a song", "AI music", "background music", "instrumental  track", "ElevenLabs Music", "soundtrack", "jingle", "theme music",  "royalty-free music", "compose", or any explicit ask to generate  music or a song from a text description.
SKILL.md:20来自说明文档打开原文件
homepage: https://www.runcomfy.comlicense: MIT---
低风险

每次生成和多语言迭代都可能产生费用

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

模型按音频时长收费,工作流还建议先草稿后最终渲染,并为每种语言分别调用。即使单次费用较低,多次试验、长音轨或批量语言版本会累积收费。

为什么需要注意

代理若自动重试或迭代,用户可能产生超出预期的 API 账单。

文档明确按生成时长计费,并建议先生成草稿再生成最终版本;多语言工作流还要求每种语言各调用一次。执行这些建议会产生多次付费请求,长音轨或多语言批量任务会累积费用。用户可要求代理在每次付费调用前显示时长、调用次数和预计总价,并设置预算上限。

SKILL.md:78来自说明文档打开原文件
**Pricing**: ~$0.0083 per second of generated audio (30 s ≈ $0.25, 60 s ≈ $0.50, 5 min ≈ $2.49). Cost scales with `music_length_ms`, so draft short and finalize long.
查看另外 2 个位置
SKILL.md:141来自说明文档打开原文件
### Multilingual release (same song, multiple languages)- One call per language, identical style brief, swap only the lyric lines### Iterate then commit- Draft at `music_length_ms: 35000` to lock genre/tempo/structure → final render at full length
SKILL.md:151来自说明文档打开原文件
- **5 s – 5 min per call** (`music_length_ms` 5000–300000). For longer pieces, generate sections and stitch externally.- **Cost scales with duration** — a 5-minute render is ~10× a 30-second one.- **`force_instrumental` is the only vocal toggle** — you can't request specific voice identities or clone a singer through this endpoint.

Skill 逻辑拆解

8 个说明模块

该技能通过本地 `runcomfy` CLI 把提示词和歌词提交到 RunComfy Model API,轮询任务状态,并把生成的音频下载到指定目录。

查看原文
SKILL.md:170来自说明文档打开原文件
The skill invokes `runcomfy run elevenlabs/elevenlabs/music-generation` with the JSON body. The CLI POSTs to the RunComfy Model API, polls request status, fetches the result, and downloads the generated audio file into `--output-dir`. `Ctrl-C` cancels the remote request before exit.

调用是按生成时长计费的,文档估算 30 秒约 0.25 美元、5 分钟约 2.49 美元,并建议先生成短草稿。

查看原文
SKILL.md:78来自说明文档打开原文件
**Pricing**: ~$0.0083 per second of generated audio (30 s ≈ $0.25, 60 s ≈ $0.50, 5 min ≈ $2.49). Cost scales with `music_length_ms`, so draft short and finalize long.

登录可把 API 令牌以 0600 权限保存到用户配置目录,也可通过 `RUNCOMFY_TOKEN` 环境变量提供。此处只描述了预期存储方式,未提供 CLI 实现供核验。

查看原文
SKILL.md:175来自说明文档打开原文件
- **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** — if the operator wants the curl-pipe path documented at `docs.runcomfy.com/cli/install`, they should review the script first.- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var to bypass the file in CI / containers. Never echo the token into a prompt, log it, or check it in.- **Input boundary (shell injection)**: the prompt is passed as a JSON string via `--input`. The CLI does not shell-expand prompt content; it transmits the JSON body directly to the Model API over HTTPS. **No shell-injection surface from prompt content**, even with backticks, quotes, or `$(...)` patterns.
从这里开始 · 工作说明SKILL.md
elevenlabs-music-generation
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 4 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

运行命令
SKILL.md:4来自说明文档打开原文件
displayName: "ElevenLabs AI Music Generation — Pro Pack on RunComfy"allowed-tools: Bash(runcomfy *)description: >
SKILL.md:31来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-agent-skills --skill elevenlabs-music-generation -g
SKILL.md:37来自说明文档打开原文件
```bash# 1. Install (one of — see runcomfy-cli skill for details)
连接外部网站
SKILL.md:19来自说明文档打开原文件
  music or a song from a text description.homepage: https://www.runcomfy.comlicense: MIT
SKILL.md:27来自说明文档打开原文件
[runcomfy.com](https://www.runcomfy.com/?utm_source=skills.sh&utm_medium=skill&utm_campaign=elevenlabs-music-generation) · [ElevenLabs Music model](https://www.runcomfy.com/models/elevenlabs/elevenlabs/music-generation?utm_source=skills.sh&utm_medium=skill&utm_campaign=elevenlabs-music-generation) · [CLI docs](https://docs.runcomfy.com/cli/introduction?utm_source=skills.sh&utm_medium=skill&utm_campaign=elevenlabs-music-generation)
SKILL.md:51来自说明文档打开原文件
CLI deep dive: [`runcomfy-cli`](https://www.skills.sh/agentspace-so/runcomfy-agent-skills/runcomfy-cli) skill.
安装其他软件包
SKILL.md:32来自说明文档打开原文件
```bashnpx skills add agentspace-so/runcomfy-agent-skills --skill elevenlabs-music-generation -g```
SKILL.md:40来自说明文档打开原文件
npm i -g @runcomfy/cli                              # global installnpx -y @runcomfy/cli --version                      # zero-install
SKILL.md:174来自说明文档打开原文件
- **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** — if the operator wants the curl-pipe path documented at `docs.runcomfy.com/cli/install`, they should review the script first.- **Token storage**: `runcomfy login` writes the API token to `~/.config/runcomfy/token.json` with mode 0600. Set `RUNCOMFY_TOKEN` env var to bypass the file in CI / containers. Never echo the token into a prompt, log it, or check it in.
读取了多少行
189
文件校验值(用于核对版本)
55584cb90ed5353aad077e14995f2213f6eece64ff60018c6c5b90f0e385f20e