安全决策报告

game-ui-voice-pack

Game UI Voice Pack 是合法的语音合成工具包,代码质量高,实现了完整的 OAuth 认证、MCP 通信和自动更新机制。主要风险点为自动更新功能的供应链理论风险,但代码包含 SHA256 验证可有效缓解。

安装决策优先 来源: ClawHub 扫描时间: 2026/8/24
文件 13
IOC 7
越权项 0
发现 4

为什么得出这个结论

0/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

复核
隐藏执行与外联

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

通过
攻击链与高危发现

没有形成明确的恶意路径。

通过
依赖与供应链卫生

依赖结构存在,但暂未看到明显高危告警。

风险分是怎么被拉高的

自动更新供应链风险 +10

代码从 cdn.beatra.ai 下载并自动替换 package-owned 文件,虽有 SHA256 验证但缺少代码签名

未声明的系统信息收集 +5

detect_host_platform() 和 _record_skill_inventory() 收集 agent 类型/平台信息,SKILL.md 未提及

权限声明宽泛 +5

allowed-tools 未明确声明 filesystem:WRITE 和 network:WRITE 权限

最关键的证据

低危 供应链

自动更新功能存在供应链理论风险

代码实现自动更新机制,可从 cdn.beatra.ai 下载并自动替换 package-owned 文件(包括 scripts/*.py)。虽包含 SHA256 验证(discovery、manifest、archive 三级验证),但缺少代码签名验证。攻击者若能入侵 CDN 可能注入恶意代码。

scripts/mcp_client.py:31
建议添加代码签名验证作为额外安全层,当前 SHA256 多级验证已提供较强保护。
低危 文档欺骗

未声明的系统信息收集

detect_host_platform() 函数读取 AI_AGENT、CLAUDECODE、CODEX_* 等环境变量检测 agent 平台;_record_skill_inventory() 记录安装路径。SKILL.md 未提及这些数据收集行为。

scripts/authorize.py:343
在 SKILL.md 的隐私/数据收集部分添加说明,告知收集 agent 类型和安装路径用于遥测。
提示 权限提升

credential 文件权限验证

代码在 POSIX 系统上验证 ~/.beatra 目录权限为 700,credentials.json 为 600,确保凭证文件仅对当前用户可读。这是良好的安全实践。

scripts/mcp_client.py:1022
无建议,当前实现符合最佳实践。
提示 供应链

事务性更新和回滚机制完善

自动更新实现完整的事务机制:写入临时文件、创建备份、journal 记录、回滚函数。即使更新中断也能恢复到一致状态。

scripts/mcp_client.py:520
无建议,当前实现质量高。

声明能力 vs 实际能力

文件系统 通过
声明 NONE
→
推断 WRITE
scripts/authorize.py:206 创建 ~/.beatra/ 目录,mcp_client.py:723 写入配置文件
网络访问 通过
声明 READ
→
推断 WRITE
scripts/authorize.py:25 向 api.beatra.ai 发送 OAuth 请求,scripts/mcp_client.py:29 调用 MCP 端点
环境变量 通过
声明 NONE
→
推断 READ
scripts/authorize.py:343 读取 AI_AGENT、CLAUDECODE 等环境变量检测平台

可疑产物与外联

中危 外部 URL
https://console.beatra.ai/wallet?intent=buy

SKILL.md:88

中危 外部 URL
https://beatra.ai/skills/game-ui-voice-pack

manifest.json:5

中危 外部 URL
https://beatra.ai/icon-512x512.png

manifest.json:6

中危 外部 URL
https://mcp.beatra.ai/mcp

manifest.json:56

中危 外部 URL
https://api.beatra.ai

scripts/authorize.py:25

中危 外部 URL
https://beatra.ai/skills/game-ui-voice-pack/channels/clawhub/install.json

scripts/mcp_client.py:31

中危 外部 URL
https://cdn.beatra.ai/agent-packages/game-ui-voice-pack/channels/clawhub/v

scripts/mcp_client.py:32

依赖与供应链

包名版本来源漏洞备注
urllib stdlib Python 3 标准库 否 使用标准库进行 HTTP 请求,无第三方依赖

文件构成

13 个文件 · 3161 行
Python 3 个文件 · 2490 行Markdown 9 个文件 · 610 行JSON 1 个文件 · 61 行
需关注文件 · 4
scripts/mcp_client.py Python · 1565 行
自动更新功能存在供应链理论风险 · credential 文件权限验证 · 事务性更新和回滚机制完善 · https://beatra.ai/skills/game-ui-voice-pack/channels/clawhub/install.json · https://cdn.beatra.ai/agent-packages/game-ui-voice-pack/channels/clawhub/v
scripts/authorize.py Python · 619 行
未声明的系统信息收集 · https://api.beatra.ai
SKILL.md Markdown · 189 行
https://console.beatra.ai/wallet?intent=buy
manifest.json JSON · 61 行
https://beatra.ai/skills/game-ui-voice-pack · https://beatra.ai/icon-512x512.png · https://mcp.beatra.ai/mcp
其他文件 · uninstall.py · installation-and-auth.md · billing-errors-and-recovery.md · uninstall-and-disconnect.md · workflow.md · tasks-and-results.md +2

安全亮点

代码质量高,包含完整的错误处理和类型注解
OAuth 2.0 Device Authorization 流程标准且安全
凭证文件权限验证严格(目录 700/文件 600)
更新机制包含 SHA256 三级验证(discovery/manifest/archive)
事务性更新实现完整,支持原子性回滚
无恶意指标(无 base64 编码执行、无远程 shell、无凭证外传)
所有外部 URL 均为官方域名(beatra.ai、cdn.beatra.ai)
MCP 协议实现规范,包含 session 管理和错误处理