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 7 lower-risk artifacts were extracted and still need context.
Pass Attack chain and severe findings There is no explicit malicious chain in the report.
Pass Dependencies and supply chain hygiene Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
自动更新供应链风险 +10
代码从 cdn.beatra.ai 下载并自动替换 package-owned 文件,虽有 SHA256 验证但缺少代码签名
未声明的系统信息收集 +5
detect_host_platform() 和 _record_skill_inventory() 收集 agent 类型/平台信息,SKILL.md 未提及
权限声明宽泛 +5
allowed-tools 未明确声明 filesystem:WRITE 和 network:WRITE 权限
Most important evidence
Low Supply Chain
自动更新功能存在供应链理论风险
代码实现自动更新机制,可从 cdn.beatra.ai 下载并自动替换 package-owned 文件(包括 scripts/*.py)。虽包含 SHA256 验证(discovery、manifest、archive 三级验证),但缺少代码签名验证。攻击者若能入侵 CDN 可能注入恶意代码。
scripts/mcp_client.py:31 建议添加代码签名验证作为额外安全层,当前 SHA256 多级验证已提供较强保护。
Low Doc Mismatch
未声明的系统信息收集
detect_host_platform() 函数读取 AI_AGENT、CLAUDECODE、CODEX_* 等环境变量检测 agent 平台;_record_skill_inventory() 记录安装路径。SKILL.md 未提及这些数据收集行为。
scripts/authorize.py:343 在 SKILL.md 的隐私/数据收集部分添加说明,告知收集 agent 类型和安装路径用于遥测。
Info Priv Escalation
credential 文件权限验证
代码在 POSIX 系统上验证 ~/.beatra 目录权限为 700,credentials.json 为 600,确保凭证文件仅对当前用户可读。这是良好的安全实践。
scripts/mcp_client.py:1022 无建议,当前实现符合最佳实践。
Info Supply Chain
事务性更新和回滚机制完善
自动更新实现完整的事务机制:写入临时文件、创建备份、journal 记录、回滚函数。即使更新中断也能恢复到一致状态。
scripts/mcp_client.py:520 无建议,当前实现质量高。
Declared capability vs actual capability
Filesystem Pass
Declared NONE
→ Inferred WRITE
scripts/authorize.py:206 创建 ~/.beatra/ 目录,mcp_client.py:723 写入配置文件 Network Pass
Declared READ
→ Inferred WRITE
scripts/authorize.py:25 向 api.beatra.ai 发送 OAuth 请求,scripts/mcp_client.py:29 调用 MCP 端点 Environment Pass
Declared NONE
→ Inferred READ
scripts/authorize.py:343 读取 AI_AGENT、CLAUDECODE 等环境变量检测平台
Suspicious artifacts and egress
Medium External URL
https://console.beatra.ai/wallet?intent=buy SKILL.md:88
Medium External URL
https://beatra.ai/skills/game-ui-voice-pack manifest.json:5
Medium External URL
https://beatra.ai/icon-512x512.png manifest.json:6
Medium External URL
https://mcp.beatra.ai/mcp manifest.json:56
Medium External URL
https://api.beatra.ai scripts/authorize.py:25
Medium External URL
https://beatra.ai/skills/game-ui-voice-pack/channels/clawhub/install.json scripts/mcp_client.py:31
Medium External URL
https://cdn.beatra.ai/agent-packages/game-ui-voice-pack/channels/clawhub/v scripts/mcp_client.py:32
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
| urllib | stdlib | Python 3 标准库 | No | 使用标准库进行 HTTP 请求,无第三方依赖 |
File composition
13 files · 3161 lines Python 3 files · 2490 linesMarkdown 9 files · 610 linesJSON 1 files · 61 lines
Files of concern · 4
scripts/mcp_client.py Python · 1565 lines
自动更新功能存在供应链理论风险 · 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 lines
未声明的系统信息收集 · https://api.beatra.ai
SKILL.md Markdown · 189 lines
https://console.beatra.ai/wallet?intent=buy
manifest.json JSON · 61 lines
https://beatra.ai/skills/game-ui-voice-pack · https://beatra.ai/icon-512x512.png · https://mcp.beatra.ai/mcp
Other files · uninstall.py · installation-and-auth.md · billing-errors-and-recovery.md · uninstall-and-disconnect.md · workflow.md · tasks-and-results.md +2
13 files · 122.1 KB · 3161 lines
Python 3f · 2490LMarkdown 9f · 610LJSON 1f · 61L
├─
▾
📁
references
│ ├─
📝
automatic-updates-and-safety.md
Markdown
19L · 1.9 KB
│ ├─
📝
billing-errors-and-recovery.md
Markdown
69L · 3.6 KB
│ ├─
📝
installation-and-auth.md
Markdown
123L · 5.7 KB
│ ├─
📝
installation-registration.md
Markdown
20L · 1.0 KB
│ ├─
📝
mcp-connection.md
Markdown
26L · 1.2 KB
│ ├─
📝
tasks-and-results.md
Markdown
40L · 2.2 KB
│ ├─
📝
uninstall-and-disconnect.md
Markdown
56L · 2.7 KB
│ └─
📝
workflow.md
Markdown
68L · 2.3 KB
├─
▾
📁
scripts
│ ├─
🐍
authorize.py
Python
619L · 21.8 KB
│ ├─
🐍
mcp_client.py
Python
1565L · 58.8 KB
│ └─
🐍
uninstall.py
Python
306L · 10.8 KB
├─
📝
SKILL.md
Markdown
189L · 7.4 KB
└─
📋
manifest.json
JSON
61L · 2.6 KB
Security positives
代码质量高,包含完整的错误处理和类型注解
OAuth 2.0 Device Authorization 流程标准且安全
凭证文件权限验证严格(目录 700/文件 600)
更新机制包含 SHA256 三级验证(discovery/manifest/archive)
事务性更新实现完整,支持原子性回滚
无恶意指标(无 base64 编码执行、无远程 shell、无凭证外传)
所有外部 URL 均为官方域名(beatra.ai、cdn.beatra.ai)
MCP 协议实现规范,包含 session 管理和错误处理