High Risk — Risk Score 65/100
Last scan:9 hr ago Rescan
65 /100
MiniMax TTS
调用 MiniMax 语音合成 API 生成语音
硬编码 API 密钥暴露是严重安全问题,同时存在未声明的文件系统写入操作
Skill NameMiniMax TTS
Duration36.5s
Enginepi
Do not install this skill
必须移除硬编码密钥,改用环境变量或安全的密钥管理机制;补充文件写入权限声明

Attack Chain 3 steps

Entry 用户通过 SKILL.md 了解技能功能
SKILL.md:1
Escalation 攻击者获取代码后发现硬编码的 API 密钥
scripts/tts.py:17
Impact 利用泄露的 API 密钥在 MiniMax 平台进行未授权消费或窃取服务
N/A

Findings 3 items

Severity Finding Location
Critical
硬编码 API 密钥暴露 Credential Theft
API 密钥被硬编码在源代码中,任何能访问代码的人都可以获取并使用该密钥。密钥类型为 sk-api- 格式,属于 MiniMax 平台的真实认证凭证。
key = "sk-api-Tszh1qpO-8wtcF_ySIPlvkPN_o9FizrEbr4O6BobaceSqXjknZ8Vy05GYjBWpnYWvmME1pSpDV7GFKrx6gOyTrakw8i3v23VYd4ndyeeCSJkI3H_LGT-LoE"
→ 使用环境变量 os.environ.get('MINIMAX_API_KEY') 获取密钥,绝不将密钥写入源代码
scripts/tts.py:17
High
未声明的文件系统写入操作 Doc Mismatch
SKILL.md 完全未提及技能会创建目录和写入文件,但代码在第73-74行会创建 ./audio/ 目录并保存音频文件
with open(output_file, "wb") as f:
            f.write(audio_bytes)
→ 在 SKILL.md 中明确声明需要 filesystem:WRITE 权限,并说明输出文件路径
scripts/tts.py:73
Medium
requests 库无版本锁定 Supply Chain
代码依赖 requests 库但未在 requirements.txt 中指定版本,可能引入依赖混淆风险
import requests
→ 创建 requirements.txt 并锁定版本:requests>=2.28.0
scripts/tts.py:8
ResourceDeclaredInferredStatusEvidence
Network READ READ ✓ Aligned scripts/tts.py:35 向 api.minimaxi.com 发起 API 请求,与 TTS 功能相关
Filesystem NONE WRITE ✗ Violation scripts/tts.py:73-74 创建 ./audio/ 目录并写入音频文件
2 findings
🔗
Medium External URL 外部 URL
https://platform.minimax.io/docs/api-reference/speech-t2a-http
SKILL.md:4
🔗
Medium External URL 外部 URL
https://api.minimaxi.com
scripts/tts.py:14

File Tree

2 files · 7.6 KB · 240 lines
Python 1f · 177L Markdown 1f · 63L
├─ 📁 scripts
│ └─ 🐍 tts.py Python 177L · 5.8 KB
└─ 📝 SKILL.md Markdown 63L · 1.8 KB

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
requests * pip No 无版本锁定,存在供应链风险

Security Positives

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