elevenlabs-toolkit
发现未声明的 Mistral API 集成(/api/story/chat),属于阴影功能(shadow feature),skill-card.md 已自行标记此风险。
/api/story/chat 端点存在且功能完整(106-140 行),但 SKILL.md capabilities 表中完全缺失。需要 MISTRAL_API_KEY 环境变量但未在 metadata.env 中声明。调用 mistral-large-latest 模型处理故事对话,SKILL.md 声称仅与 ElevenLabs 交互。
scripts/elevenlabs_api.py:106-140 为什么得出这个结论
2/4 个维度触发发现 2 项声明之外的能力或越权行为。
提取到 5 个一般风险产物,需要结合上下文判断。
报告包含 0 步攻击链,另有 1 项高危或严重发现。
依赖结构存在,但暂未看到明显高危告警。
风险分是怎么被拉高的
/api/story/chat 端点在代码中存在但 SKILL.md capabilities 表中未列出,需要 MISTRAL_API_KEY 但未在 metadata.env 中声明
SKILL.md 声明网络仅 outbound 到 api.elevenlabs.io,但代码额外调用 Mistral API (api.mistral.ai)
skill-card.md Known Risks 部分明确标注「under-disclosed Mistral story-chat data flow」,属于自我暴露的风险
最关键的证据
未声明的 Mistral API 集成(阴影功能)
/api/story/chat 端点存在且功能完整(106-140 行),但 SKILL.md capabilities 表中完全缺失。需要 MISTRAL_API_KEY 环境变量但未在 metadata.env 中声明。调用 mistral-large-latest 模型处理故事对话,SKILL.md 声称仅与 ElevenLabs 交互。
scripts/elevenlabs_api.py:106-140 端点路径与文档不匹配
SKILL.md 声称 SFX 端点为 POST /api/voice/sfx,Music 端点为 POST /api/voice/music;但实际代码中 SFX 映射到 /api/audio/sfx,Music 映射到 /api/audio/lullaby。
scripts/elevenlabs_api.py:56,67 新增未声明的第三方依赖
/api/story/chat 使用 mistralai SDK,但 SKILL.md 和 skill-card.md 均未列出此依赖。依赖 mistralai 包在 requirements.txt 或其他依赖文件中缺失声明。
scripts/elevenlabs_api.py:107 skill-card.md 自暴露风险
skill-card.md Known Risks 部分明确标注「The release includes an under-disclosed Mistral story-chat data flow」,表明发布者自身已认识到此问题但未在 SKILL.md 中修复。
skill-card.md:风险与缓解 声明能力 vs 实际能力
无文件读写操作 scripts/elevenlabs_api.py:117-128 调用 mistral-large-latest 无 shell 执行 scripts/elevenlabs_api.py:114 读取 MISTRAL_API_KEY 但 metadata.env 仅声明 ELEVENLABS_API_KEY 可疑产物与外联
https://api.elevenlabs.io/v1/voices SKILL.md:89
https://api.elevenlabs.io/v1/user/subscription SKILL.md:227
https://api.elevenlabs.io/v1 scripts/elevenlabs_api.py:13
https://clawhub.ai/user/nissan skill-card.md:9
https://clawhub.ai/nissan/skills/elevenlabs-toolkit skill-card.md:39
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| mistralai | 未声明 | import (需 pip install) | 否 | 未在 requirements.txt 等文件中声明;用于未文档化的 /api/story/chat 端点 |
| httpx | 未声明 | import | 否 | 标准 HTTP 客户端,用于 ElevenLabs API 调用 |
| websockets | 未声明 | import | 否 | 用于 WebSocket 流式 TTS |
文件构成
SKILL.md scripts/elevenlabs_api.py skill-card.md