低风险 — 风险评分 15/100
上次扫描:12 小时前 重新扫描
15 /100
video-to-text
免费视频转文字 API - 使用免费 Whisper API 将视频/音频转为文字
这是一个合法的视频转文字工具,存在轻微文档不一致(Python脚本使用ffmpeg未在SKILL.md声明)和URL下载的SSRF潜在风险,但无恶意行为证据。
技能名称video-to-text
分析耗时49.3s
引擎pi
可以安装
可安全使用。建议在文档中补充Python脚本对ffmpeg的依赖声明。

安全发现 3 项

严重性 安全发现 位置
低危
Python脚本subprocess调用未在文档声明 文档欺骗
scripts/video2text.py使用subprocess.run调用ffmpeg提取音频,但SKILL.md仅声明使用免费API,未提及本地ffmpeg依赖
subprocess.run(cmd, check=True)
→ 在SKILL.md的'实现说明'或'注意事项'中补充说明Python脚本依赖本地ffpeg
scripts/video2text.py:15
低危
任意URL下载存在SSRF潜在风险 敏感访问
index.js的downloadFile函数接受任意URL并下载到临时目录,虽为功能需要但缺乏目标地址验证
protocol.get(url, (response) => {...})
→ 考虑添加URL白名单或内网IP段过滤,防止被滥用进行SSRF攻击
index.js:28
提示
Python依赖未锁定版本 供应链
scripts/video2text.py使用whisper和requests库但未提供requirements.txt,版本不受控
import whisper; import requests
→ 添加requirements.txt锁定依赖版本,防止依赖混淆攻击
scripts/video2text.py:45
资源类型声明权限推断权限状态证据
文件系统 NONE WRITE ✓ 一致 index.js:37-38 创建临时文件写入,代码未声明但符合工具功能
网络访问 READ READ ✓ 一致 index.js:42 下载文件URL,SKILL.md声明使用免费API
命令执行 NONE WRITE ✓ 一致 tool.js:47 execSync调用node,scripts/video2text.py:15 subprocess调用ffmpeg(功能需要但未声明)
4 项发现
🔗
中危 外部 URL 外部 URL
https://api.myshell.ai/v1/audio/transcriptions
SKILL.md:53
🔗
中危 外部 URL 外部 URL
https://api.assemblyai.com/v2/upload
scripts/video2text.py:49
🔗
中危 外部 URL 外部 URL
https://api.assemblyai.com/v2/transcript
scripts/video2text.py:58
🔗
中危 外部 URL 外部 URL
https://api.assemblyai.com/v2/transcript/
scripts/video2text.py:69

目录结构

6 文件 · 16.3 KB · 602 行
JavaScript 2f · 328L Python 1f · 141L JSON 2f · 70L Markdown 1f · 63L
├─ 📁 scripts
│ └─ 🐍 video2text.py Python 141L · 4.3 KB
├─ 📋 _meta.json JSON 50L · 1.3 KB
├─ 📜 index.js JavaScript 252L · 6.9 KB
├─ 📋 package.json JSON 20L · 414 B
├─ 📝 SKILL.md Markdown 63L · 1.7 KB
└─ 📜 tool.js JavaScript 76L · 1.7 KB

依赖分析 2 项

包名版本来源已知漏洞备注
whisper 未指定 pip Python脚本导入,未在requirements.txt中声明
requests 未指定 pip 用于AssemblyAI API调用

安全亮点

✓ 代码结构清晰,无明显混淆或恶意代码模式
✓ 未访问~/.ssh、~/.aws、.env等敏感路径
✓ 未发现凭证收割或数据外泄行为
✓ API调用仅限声明的服务端点
✓ 临时文件在处理后正确清理