跳转到正文
报告库
用途分类 / 内容写作

Mmx Cli Skill 安全审计

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

Use mmx to generate text, images, video, and speech via the MiniMax AI platform. Use when the user wants to create media content, chat with MiniMax models, perform web search, or manage MiniMax API resources from the terminal.

第三方安全检查结论

先别安装或运行

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

前置步骤要求全局安装未固定版本的 npm 包

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

指南直接运行 `npm install -g mmx-cli`,没有固定版本、校验哈希或提供包来源验证步骤。全局 npm 安装会信任当时注册表解析到的包,并可能执行其安装阶段代码。所提供材料不包含该包的实现,因此无法从这些文件核实实际行为。

为什么需要注意

如果包名被劫持、发布账户被入侵或未来版本加入恶意代码,安装过程可能以当前用户权限执行代码,并使 `mmx` 可执行文件长期出现在全局环境中。

这是有效的全局安装指令,不是警告或测试。它没有固定版本或校验包内容,因此执行时会信任 npm 注册表当时提供的 `mmx-cli`,并可能运行该包的安装脚本;材料未提供包实现,无法进一步核实。用户可要求作者固定版本和完整性校验,或先在隔离环境审查包。

SKILL.md:12来自说明文档打开原文件
```bash# Installnpm install -g mmx-cli# Auth (OAuth persists to ~/.mmx/credentials.json, API key persists to ~/.mmx/config.json)mmx auth login --api-key sk-xxxxx
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

聊天内容和本地媒体可被发送到 MiniMax

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

文本命令可读取消息 JSON 文件或标准输入;语音、视觉和 H3 视频命令可读取本地文件。参考文档明确说明本地媒体会被 Base64 编码进请求,因此选择文件路径会把文件内容交给外部服务处理。

为什么需要注意

被选中的对话、图片、音频或视频可能包含个人信息、客户资料、位置数据或未发布素材,并受 MiniMax 的存储、日志、地区和保留政策约束。使用公开 URL 还会扩大素材的可访问范围。

该技能用于通过 MiniMax 平台处理内容;聊天可读取指定 JSON 文件或标准输入,视觉命令会读取并编码本地图片,H3 文档还明确说本地媒体会被 Base64 编码进请求。因此,只有用户选择作为输入的消息或媒体会发送给外部服务,但文件可能包含未预期的敏感信息。用户应限制可选路径并在提交前确认具体文件。

SKILL.md:57来自说明文档打开原文件
|---|---|---|| `--message <text>` | string, **required**, repeatable | Message text. Prefix with `role:` to set role (e.g. `"system:You are helpful"`, `"user:Hello"`) || `--messages-file <path>` | string | JSON file with messages array. Use `-` for stdin || `--system <text>` | string | System prompt || `--model <model>` | string | Model ID (default: `MiniMax-M3`) |
查看另外 4 个位置
SKILL.md:178来自说明文档打开原文件
|---|---|---|| `--text <text>` | string | Text to synthesize || `--text-file <path>` | string | Read text from file. Use `-` for stdin || `--model <model>` | string | `speech-2.8-hd` (default), `speech-2.6`, `speech-02` |
SKILL.md:218来自说明文档打开原文件
|---|---|---|| `--image <path-or-url>` | string | Local path or URL (auto base64-encoded) || `--file-id <id>` | string | Pre-uploaded file ID (skips base64) || `--prompt <text>` | string | Question about the image (default: `"Describe the image."`) |
h3-video/references/h3-video.md:164来自说明文档打开原文件
The total number of reference images, videos, and audios in a mixed-reference request must not exceed 12. Local media is Base64-encoded, and MMX limits the complete request body to 64 MB. Use public URLs or `mm_file://<file-id>` for large or numerous media inputs.
SKILL.md:8来自说明文档打开原文件
Use `mmx` to generate text, images, video, speech, and perform web search via the MiniMax AI platform.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
中风险

H3 流程会把运行时 API 密钥持久化并替换现有认证状态

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

如果运行时存在 `MINIMAX_API_KEY`,指南要求把它写入 `~/.mmx/config.json`。文档还说明该操作会替换旧 OAuth 凭据并清除缓存地区;所有者权限可减少其他本地账户读取,但密钥仍以长期配置形式留在磁盘上。

为什么需要注意

短期注入的秘密会变成持久凭据,之后的命令可能在用户未意识到的情况下使用该付费账户。替换 OAuth 和地区状态也可能改变其他 MMX 工作流使用的账户或区域。

当用户已提供且环境安全保存 `MINIMAX_API_KEY` 时,流程会把该密钥持久化到 MMX 配置。文档称文件采用仅所有者权限,但同时明确会删除旧 OAuth 凭据并清除缓存地区,所以这会改变长期认证状态,并非仅本次调用。用户可要求只使用临时环境变量,或在授权前确认是否接受替换现有登录状态。

h3-video/SKILL.md:45来自说明文档打开原文件
- If `method` is `api-key`, reuse it from MMX config. Do not add `--api-key` to generation commands.- If the user already supplied a key and the runtime holds it securely as `MINIMAX_API_KEY`, save it once, then use MMX config:```bashmmx config set --key api_key --value "$MINIMAX_API_KEY" --quiet```
查看另外 1 个位置
h3-video/SKILL.md:52来自说明文档打开原文件
- Saving `api_key` replaces stale OAuth credentials, clears the cached region, and stores the key in `~/.mmx/config.json` with owner-only permissions.- Never reconstruct a previously supplied key into visible shell text. Use the runtime's secret/environment injection when available.- If no saved API key or securely injected variable is available, ask the user to run `mmx auth login` and choose API key. Do not ask them to paste the key into chat again.- After saving, future Agent commands must omit both the literal key and `--api-key`.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。发现 1 项风险
中风险

生成 H3 视频会直接创建付费任务,但流程没有单独的价格确认步骤

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

指南将 H3 请求明确称为付费请求,并要求用单个 `video generate` 命令直接提交任务、等待并下载。命令指定时长,但所提供说明没有在提交前查询价格、预算上限或再次确认费用的步骤。

为什么需要注意

只要生成请求被执行,用户账户就可能产生费用;重复任务虽有防护,但单次任务的实际价格和余额影响仍可能在用户看到结果前发生。

文档明确把 H3 调用称为“付费请求”,并指示用一次阻塞式生成命令提交任务。材料列出了时长等参数,却没有在首次提交前展示价格、预算上限或费用确认;用户要求生成视频可能构成操作授权,但不一定表示了解具体费用。该流程对失败后的再次付费提交要求批准,说明重复收费已有保护。用户可要求首次提交前显示预计费用并取得明确确认。

h3-video/SKILL.md:10来自说明文档打开原文件
Before a paid request, read `references/h3-video.md` for prompt construction, media constraints, waiting behavior, and failure handling.
查看另外 4 个位置
h3-video/SKILL.md:61来自说明文档打开原文件
```bashmmx video generate \  --model MiniMax-H3 \  --prompt "<video prompt>" \  --duration <4-15> \  --download <output.mp4> \  --poll-interval 10 \  --timeout 1800 \  --non-interactive```
h3-video/SKILL.md:72来自说明文档打开原文件
This one CLI process submits exactly one task, waits internally between status checks, and downloads the completed video. When the execution tool returns a running session or cell ID, continue waiting on that same session until it exits.Do not add `--async` to this command. Async mode returns before download handling.
h3-video/SKILL.md:17来自说明文档打开原文件
3. Always pass `--model MiniMax-H3`; never rely on the configured default model.4. For a completed video, run one direct blocking `mmx video generate` command. Do not use Bash wrappers or hand-written polling loops.5. If the terminal command remains active, wait on that exact execution session. Do not run `ps`, scrape process arguments, inspect the output repeatedly, kill the process, or submit another task.
h3-video/SKILL.md:217来自说明文档打开原文件
- A running terminal session: keep waiting on the same session; absence of a final path is not failure.- Terminal task status `failed`, `cancelled`, or `expired`: report the status and task error; require approval before another paid submission.- Polling timeout: report the task ID when available; do not submit a duplicate.

Skill 逻辑拆解

7 个说明模块

该 Skill 是 MiniMax 平台的命令行操作指南,覆盖文本、图片、视频、语音、视觉分析和联网搜索;这些操作依赖外部 MiniMax 服务,而不是仅在本地处理内容。

查看原文
SKILL.md:3来自说明文档打开原文件
name: mmx-clidescription: Use mmx to generate text, images, video, and speech via the MiniMax AI platform. Use when the user wants to create media content, chat with MiniMax models, perform web search, or manage MiniMax API resources from the terminal.---
SKILL.md:8来自说明文档打开原文件
Use `mmx` to generate text, images, video, speech, and perform web search via the MiniMax AI platform.

H3 工作流明确会创建付费任务,并通过一个阻塞命令等待结果和下载文件;异步模式只有在用户明确要求任务 ID 时才使用。

查看原文
h3-video/SKILL.md:17来自说明文档打开原文件
3. Always pass `--model MiniMax-H3`; never rely on the configured default model.4. For a completed video, run one direct blocking `mmx video generate` command. Do not use Bash wrappers or hand-written polling loops.5. If the terminal command remains active, wait on that exact execution session. Do not run `ps`, scrape process arguments, inspect the output repeatedly, kill the process, or submit another task.
h3-video/SKILL.md:22来自说明文档打开原文件
8. Retry the alternate region at most once, and only when the first command clearly failed before task creation because of region detection, endpoint, or authentication routing.9. Use `--async` only when the user explicitly wants a task ID without waiting or downloading.
h3-video/SKILL.md:72来自说明文档打开原文件
This one CLI process submits exactly one task, waits internally between status checks, and downloads the completed video. When the execution tool returns a running session or cell ID, continue waiting on that same session until it exits.

H3 指南包含避免重复计费的保护:任务一旦可能已创建,就不得因轮询、终端等待或下载失败而再次生成,并且失败后再次付费提交需要用户批准。

查看原文
h3-video/SKILL.md:20来自说明文档打开原文件
6. Treat `Detecting region... cn` or `Detecting region... global` as normal stderr progress, not a submission failure.7. Never submit a replacement paid task because terminal waiting, status polling, or downloading was interrupted.8. Retry the alternate region at most once, and only when the first command clearly failed before task creation because of region detection, endpoint, or authentication routing.9. Use `--async` only when the user explicitly wants a task ID without waiting or downloading.
h3-video/SKILL.md:217来自说明文档打开原文件
- A running terminal session: keep waiting on the same session; absence of a final path is not failure.- Terminal task status `failed`, `cancelled`, or `expired`: report the status and task error; require approval before another paid submission.- Polling timeout: report the task ID when available; do not submit a duplicate.- Download failure after success: retry the same result download only; never regenerate the video.

指南要求对本地媒体做大小和格式预检,但说明本地媒体会被 Base64 编码进请求;较大或较多素材则建议改用公开 URL 或已上传文件 ID。

查看原文
h3-video/references/h3-video.md:164来自说明文档打开原文件
The total number of reference images, videos, and audios in a mixed-reference request must not exceed 12. Local media is Base64-encoded, and MMX limits the complete request body to 64 MB. Use public URLs or `mm_file://<file-id>` for large or numerous media inputs.Before a paid request, inspect local video/audio duration and codec once when they are unknown. Do not transcode media unless it violates an actual format or duration rule.
从这里开始 · 工作说明SKILL.md
mmx-cli
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。

文件引用关系图

2 处引用
哪些文件发起引用引用了什么
连线表示真实的文件引用,不是运行顺序。点击节点可高亮相关连线,并查看具体文件和原文位置。虚线表示还有文件需要定位。
文件与检查记录3 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文
  • h3-video/SKILL.md已纳入全文
  • h3-video/references/h3-video.md已纳入全文

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

  • SKILL.md工作说明
  • h3-video/SKILL.md配套文件
  • h3-video/references/h3-video.md配套文件

代码和说明中提到的操作

运行命令
SKILL.md:12来自说明文档打开原文件
```bash# Install
SKILL.md:51来自说明文档打开原文件
```bashmmx text chat --message <text> [flags]
SKILL.md:67来自说明文档打开原文件
```bash# Single message
安装其他软件包
SKILL.md:14来自说明文档打开原文件
# Installnpm install -g mmx-cli
读取密钥或账号配置
SKILL.md:16来自说明文档打开原文件
# Auth (OAuth persists to ~/.mmx/credentials.json, API key persists to ~/.mmx/config.json)mmx auth login --api-key sk-xxxxx
SKILL.md:17来自说明文档打开原文件
# Auth (OAuth persists to ~/.mmx/credentials.json, API key persists to ~/.mmx/config.json)mmx auth login --api-key sk-xxxxx
SKILL.md:23来自说明文档打开原文件
# Or pass per-callmmx text chat --api-key sk-xxxxx --message "Hello"```
读取文件
SKILL.md:78来自说明文档打开原文件
# From filecat conversation.json | mmx text chat --messages-file - --output json```
SKILL.md:109来自说明文档打开原文件
```bashmmx image generate --prompt "A cat in a spacesuit" --output json --quiet# stdout: image URLs (one per line in quiet mode)
SKILL.md:179来自说明文档打开原文件
| `--text <text>` | string | Text to synthesize || `--text-file <path>` | string | Read text from file. Use `-` for stdin || `--model <model>` | string | `speech-2.8-hd` (default), `speech-2.6`, `speech-02` |
读取了多少行
752
文件校验值(用于核对版本)
370130cb308bbb61419bc8344206fa6183d2a2efe112affabbfc0098f982efa2