安全决策报告

MiniMax TTS

硬编码 API 密钥暴露是严重安全问题,同时存在未声明的文件系统写入操作

安装决策优先 来源: 手动上传 扫描时间: 2026/4/5
文件 2
IOC 2
越权项 1
发现 3
最直接的威胁证据
严重 凭证窃取
硬编码 API 密钥暴露

API 密钥被硬编码在源代码中,任何能访问代码的人都可以获取并使用该密钥。密钥类型为 sk-api- 格式,属于 MiniMax 平台的真实认证凭证。

scripts/tts.py:17

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

复核
隐藏执行与外联

提取到 2 个一般风险产物,需要结合上下文判断。

阻止
攻击链与高危发现

报告包含 3 步攻击链,另有 2 项高危或严重发现。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

攻击链

01
用户通过 SKILL.md 了解技能功能

初始入口 · SKILL.md:1

02
攻击者获取代码后发现硬编码的 API 密钥

权限提升 · scripts/tts.py:17

03
利用泄露的 API 密钥在 MiniMax 平台进行未授权消费或窃取服务

最终危害 · N/A

风险分是怎么被拉高的

硬编码 API 密钥 +40

scripts/tts.py:17 硬编码了真实 API 密钥 sk-api-Tszh1qpO-8wtcF_ySIPlvkPN_o9FizrEbr4O6BobaceSqXjknZ8Vy05GYjBWpnYWvmME1pSpDV7GFKrx6gOyTrakw8i3v23VYd4ndyeeCSJkI3H_LGT-LoE,任何能读取代码的人均可使用

未声明的文件写入 +15

SKILL.md 未声明文件系统 WRITE 权限,但代码会创建 ./audio/ 目录并写入音频文件

文档-行为差异 +10

文档未提及密钥处理方式,存在误导性

最关键的证据

严重 凭证窃取

硬编码 API 密钥暴露

API 密钥被硬编码在源代码中,任何能访问代码的人都可以获取并使用该密钥。密钥类型为 sk-api- 格式,属于 MiniMax 平台的真实认证凭证。

scripts/tts.py:17
使用环境变量 os.environ.get('MINIMAX_API_KEY') 获取密钥,绝不将密钥写入源代码
高危 文档欺骗

未声明的文件系统写入操作

SKILL.md 完全未提及技能会创建目录和写入文件,但代码在第73-74行会创建 ./audio/ 目录并保存音频文件

scripts/tts.py:73
在 SKILL.md 中明确声明需要 filesystem:WRITE 权限,并说明输出文件路径
中危 供应链

requests 库无版本锁定

代码依赖 requests 库但未在 requirements.txt 中指定版本,可能引入依赖混淆风险

scripts/tts.py:8
创建 requirements.txt 并锁定版本:requests>=2.28.0

声明能力 vs 实际能力

网络访问 通过
声明 READ
推断 READ
scripts/tts.py:35 向 api.minimaxi.com 发起 API 请求,与 TTS 功能相关
文件系统 阻止
声明 NONE
推断 WRITE
scripts/tts.py:73-74 创建 ./audio/ 目录并写入音频文件

可疑产物与外联

中危 外部 URL
https://platform.minimax.io/docs/api-reference/speech-t2a-http

SKILL.md:4

中危 外部 URL
https://api.minimaxi.com

scripts/tts.py:14

依赖与供应链

包名版本来源漏洞备注
requests * pip 无版本锁定,存在供应链风险

文件构成

2 个文件 · 240 行
Python 1 个文件 · 177 行Markdown 1 个文件 · 63 行
需关注文件 · 2
scripts/tts.py Python · 177 行
硬编码 API 密钥暴露 · 未声明的文件系统写入操作 · requests 库无版本锁定 · https://api.minimaxi.com
SKILL.md Markdown · 63 行
https://platform.minimax.io/docs/api-reference/speech-t2a-http

安全亮点

功能相对简单,核心逻辑清晰
使用了 HTTPS 进行 API 通信
有基本的错误处理和超时设置
未发现代码混淆或隐藏的恶意行为