Low Risk — Risk Score 15/100
Last scan:2 days ago Rescan
15 /100
jiuma-free-meta-human
九马AI免费数字人视频生成技能。使用九马AI API进行文本到数字人视频的生成,支持选择不同数字人形象和音色。
九马AI数字人视频生成技能,代码结构清晰,仅包含对 jiuma.com 官方 API 的网络请求,凭证本地明文存储为轻微瑕疵但无外传证据。
Skill Namejiuma-free-meta-human
Duration39.8s
Enginepi
Safe to install
可安全使用。建议在 SKILL.md 中补充说明凭证存储路径(.jiuma/),并建议加密存储 API Key。

Findings 4 items

Severity Finding Location
Medium
API Key 明文存储
utils.py 中的 save_jiuma_api_key() 将 API Key 直接以明文写入文件 ~/.jiuma/jiuma_api_key,无任何加密保护。若攻击者获取本地文件系统读取权限,可直接窃取 API Key。
def save_jiuma_api_key(api_key):
    with open(JIUMA_API_KEY_SAVE_PATH, "w") as f:
        f.write(api_key)
→ 使用 keyring 或 cryptography 库加密存储 API Key
utils.py:62
Low
SKILL.md 未声明凭证存储路径
SKILL.md 描述了登录流程(引用 LOGIN.md),但未明确说明 API Key 的存储位置为 ~/.jiuma/jiuma_api_key。用户无法从文档得知凭证文件的存储位置。
技能会自动在以下位置保存API密钥
→ 在 SKILL.md 的安装要求或配置文件章节中明确说明凭证存储路径
SKILL.md:60
Info
requests 库无版本锁定
代码依赖 requests 库但未在 requirements.txt 中声明版本,存在依赖混淆风险。
import requests
→ 添加 requirements.txt 并锁定版本,如 requests>=2.28.0
generate_video.py:8
Info
Windows 编码处理可能干扰日志
generate_video.py 对 Windows 平台做了 sys.stdout 重定向编码处理,这在 AI Agent 日志中可能产生乱码。
if sys.platform == "win32":
    sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer)
→ 非必需,可移除或使用环境变量控制
generate_video.py:12
ResourceDeclaredInferredStatusEvidence
Filesystem NONE READ ✓ Aligned utils.py:17 仅在 ~/.jiuma/ 下创建目录和文件,功能相关且在 LOGIN.md 中有声明
Network READ READ ✓ Aligned generate_video.py:39-40, login.py:6-7, utils.py:30 仅使用 requests.post 向 api.jiuma…
Shell NONE NONE 所有脚本均为纯 Python 代码,无 subprocess/shell 执行
Environment NONE NONE 代码未遍历或搜索 os.environ 中的敏感关键字
Clipboard NONE NONE 无剪贴板访问代码
5 findings
🔗
Medium External URL 外部 URL
https://.../qrcode.png
LOGIN.md:41
🔗
Medium External URL 外部 URL
https://.../login
LOGIN.md:42
🔗
Medium External URL 外部 URL
https://api.jiuma.com
generate_video.py:23
🔗
Medium External URL 外部 URL
https://api.jiuma.com/user/getLoginQrcode
login.py:6
🔗
Medium External URL 外部 URL
https://api.jiuma.com/user/checkLoginStatus
login.py:7

File Tree

7 files · 19.0 KB · 596 lines
Python 3f · 285L Markdown 2f · 267L JSON 2f · 44L
├─ 🐍 generate_video.py Python 155L · 5.5 KB
├─ 📝 LOGIN.md Markdown 105L · 3.2 KB
├─ 🐍 login.py Python 52L · 1.6 KB
├─ 📋 meta-human.json JSON 33L · 491 B
├─ 📝 SKILL.md Markdown 162L · 5.7 KB
├─ 🐍 utils.py Python 78L · 2.3 KB
└─ 📋 voice.json JSON 11L · 200 B

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
requests * pip No 无版本锁定,依赖混淆风险低

Security Positives

✓ 代码逻辑简单清晰,无混淆、加密或混淆变量名
✓ 所有外部网络请求均指向官方域名 api.jiuma.com,无可疑 IP 或第三方端点
✓ 无 subprocess/shell/eval/exec 等高危代码执行路径
✓ 未发现环境变量遍历、敏感路径遍历(~/.ssh、~/.aws、.env 等)
✓ 未发现 base64 解码管道、远程脚本下载或反向 shell 迹象
✓ 无 HTML 注释中的隐藏指令
✓ 文档结构良好,参数说明清晰