安全决策报告

game-script-voice-pack

Beatra 游戏语音包技能是合法的商业产品,代码质量高、安全措施完善,但存在文档声明与实际行为的部分偏差(自动更新机制未在 SKILL.md 明确说明)。

安装决策优先 来源: ClawHub 扫描时间: 25 天前
文件 13
IOC 6
越权项 0
发现 3

为什么得出这个结论

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

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

复核
隐藏执行与外联

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

通过
攻击链与高危发现

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

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

文档-行为偏差 +15

SKILL.md 未明确声明自动更新机制,代码在每次 MCP 调用前静默检查并可能更新包文件

隐蔽权限使用 +5

未声明 filesystem:WRITE(用于自动更新写入包目录)和 network:WRITE(用于更新下载)

最关键的证据

低危 文档欺骗

自动更新机制未在 SKILL.md 中声明

mcp_client.py 中的 maybe_auto_update() 在每次 MCP 调用前静默执行(最多每24小时一次),会检查并自动下载安装新版本包文件。SKILL.md 仅在底部简要提及,无显式声明权限需求。

scripts/mcp_client.py:1043
在 SKILL.md 权限声明部分明确说明:需要 filesystem:WRITE 用于自动更新写入,network:WRITE 用于下载更新包
低危 供应链

自动更新源固定但依赖外部服务可用性

自动更新机制从 cdn.beatra.ai 下载经过 SHA256 验证的 ZIP 包,更新流程包含完整的校验、回滚和恢复机制。风险在于依赖外部服务的可用性和安全性。

scripts/mcp_client.py:31
保持默认启用自动更新以获取安全修复;若需要完全离线隔离环境可使用 'python3 scripts/mcp_client.py update --auto off'
低危 敏感访问

访问环境变量用于平台检测遥测

代码读取 AI_AGENT、CLAUDECODE、CODEX_* 等环境变量用于识别运行平台并上报至服务器,用于遥测和会话管理。

scripts/authorize.py:420
确认此遥测行为符合组织隐私政策;如需可禁用相关功能

声明能力 vs 实际能力

文件系统 通过
声明 NONE
→
推断 WRITE
scripts/mcp_client.py:update_package 函数在包目录中写入更新文件
网络访问 通过
声明 NONE
→
推断 WRITE
所有脚本均与 api.beatra.ai/mcp.beatra.ai/cdn.beatra.ai 建立 HTTPS 连接
环境变量 通过
声明 NONE
→
推断 READ
detect_host_platform() 和 _detect_host_platform() 读取 AI_AGENT、CLAUDECODE 等环境变量用于遥测

可疑产物与外联

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

manifest.json:5

中危 外部 URL
https://beatra.ai/textures/icons/game-script-voice-pack-0.1.1.png

manifest.json:6

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

manifest.json:66

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

scripts/authorize.py:29

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

scripts/mcp_client.py:31

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

scripts/mcp_client.py:32

依赖与供应链

没有结构化依赖告警。

文件构成

13 个文件 · 4116 行
Python 3 个文件 · 3463 行Markdown 9 个文件 · 582 行JSON 1 个文件 · 71 行
需关注文件 · 3
scripts/mcp_client.py Python · 1688 行
自动更新机制未在 SKILL.md 中声明 · 自动更新源固定但依赖外部服务可用性 · https://beatra.ai/skills/game-script-voice-pack/channels/clawhub/install.json · https://cdn.beatra.ai/agent-packages/game-script-voice-pack/channels/clawhub/v
scripts/authorize.py Python · 1467 行
访问环境变量用于平台检测遥测 · https://api.beatra.ai
manifest.json JSON · 71 行
https://beatra.ai/skills/game-script-voice-pack · https://beatra.ai/textures/icons/game-script-voice-pack-0.1.1.png · https://mcp.beatra.ai/mcp
其他文件 · uninstall.py · installation-and-auth.md · SKILL.md · billing-errors-and-recovery.md · uninstall-and-disconnect.md · tasks-and-results.md +3

安全亮点

代码质量高,包含完整的安全检查和边界验证
所有网络请求使用 HTTPS,拒绝 HTTP 重定向
凭证文件权限设置为 0o600(仅所有者可读写),状态目录为 0o700
自动更新包含 SHA256 校验、manifest 验证、回滚和恢复机制
OAuth 授权流程完整,实现设备码授权和凭证管理
卸载脚本遵循"最后技能"原则,不会误删其他 Beatra 技能的共享凭证
无恶意行为证据:无 base64 执行、无 eval 动态代码、无凭证外泄、无反向 shell