Skill Trust Decision

game-script-voice-pack

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

Install decision first Source: ClawHub Scanned: 25 days ago
Files 13
Artifacts 6
Violations 0
Findings 3

Why this conclusion was reached

0/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Review
Hidden execution and egress

6 lower-risk artifacts were extracted and still need context.

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

What drove the risk score up

文档-行为偏差 +15

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

隐蔽权限使用 +5

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

Most important evidence

Low Doc Mismatch

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

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

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

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

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

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

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

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

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

Declared capability vs actual capability

Filesystem Pass
Declared NONE
→
Inferred WRITE
scripts/mcp_client.py:update_package 函数在包目录中写入更新文件
Network Pass
Declared NONE
→
Inferred WRITE
所有脚本均与 api.beatra.ai/mcp.beatra.ai/cdn.beatra.ai 建立 HTTPS 连接
Environment Pass
Declared NONE
→
Inferred READ
detect_host_platform() 和 _detect_host_platform() 读取 AI_AGENT、CLAUDECODE 等环境变量用于遥测

Suspicious artifacts and egress

Medium External URL
https://beatra.ai/skills/game-script-voice-pack

manifest.json:5

Medium External URL
https://beatra.ai/textures/icons/game-script-voice-pack-0.1.1.png

manifest.json:6

Medium External URL
https://mcp.beatra.ai/mcp

manifest.json:66

Medium External URL
https://api.beatra.ai

scripts/authorize.py:29

Medium External URL
https://beatra.ai/skills/game-script-voice-pack/channels/clawhub/install.json

scripts/mcp_client.py:31

Medium External URL
https://cdn.beatra.ai/agent-packages/game-script-voice-pack/channels/clawhub/v

scripts/mcp_client.py:32

Dependencies and supply chain

There are no structured dependency warnings.

File composition

13 files · 4116 lines
Python 3 files · 3463 linesMarkdown 9 files · 582 linesJSON 1 files · 71 lines
Files of concern · 3
scripts/mcp_client.py Python · 1688 lines
自动更新机制未在 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 lines
访问环境变量用于平台检测遥测 · https://api.beatra.ai
manifest.json JSON · 71 lines
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
Other files · uninstall.py · installation-and-auth.md · SKILL.md · billing-errors-and-recovery.md · uninstall-and-disconnect.md · tasks-and-results.md +3

Security positives

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