Skill Trust Decision

coppa-check

技能代码本身无明显恶意,但存在影子行为(--non-interactive 声称离线却实际联网获取规则)和文件系统越权写入(--output 可写任意路径)。凭证收集仅限于声明的登录流程,API端点硬编码防重定向,但文档-行为存在不一致。

Install decision first Source: ClawHub Scanned: Aug 10, 2026
Files 5
Artifacts 4
Violations 1
Findings 2
Most direct threat evidence

Why this conclusion was reached

1/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Review
Hidden execution and egress

4 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

影子行为:文档声明离线预览,实际联网获取规则 +20

SKILL.md称--non-interactive为完全离线预览,但代码第361行 fetch_rules() 在非交互模式下仍先调用网络

文件系统越权写入 +15

声明仅写入~/.config/compliancehub,但--output允许写任意路径

Most important evidence

Medium Doc Mismatch

--non-interactive 模式影子联网行为

SKILL.md声明--non-interactive为'完全离线预览',但代码在非交互模式下仍先调用 fetch_rules() 联网获取规则(第361行),与文档声明的离线行为不符。这是典型的文档-行为差异,属于影子功能。

scripts/coppa-check.py:361
修改代码逻辑,在--non-interactive模式下跳过fetch_rules()调用,直接使用本地CHECK_ITEMS
Low Priv Escalation

--output 参数超出声明的文件系统权限

声明仅写入~/.config/compliancehub,但--output允许写入任意用户指定路径。虽然这可能是合法的报告导出需求,但超出了SKILL.md声明的范围。

scripts/coppa-check.py:407
限制--output仅允许写入~/.config/compliancehub目录,或在SKILL.md中明确声明可写任意路径

Declared capability vs actual capability

Network Pass
Declared READ
Inferred READ
SKILL.md声明仅访问compliancehub.cn;代码所有端点均硬编码为此域名
Filesystem Block
Declared WRITE(~/.config/compliancehub)
Inferred WRITE(任意路径)
scripts/coppa-check.py:407 args.output可写任意路径,超出声明范围
Environment Pass
Declared READ(COMPLIANCEHUB_API_KEY)
Inferred READ
代码仅读取COMPLIANCEHUB_API_KEY
Shell Pass
Declared NONE
Inferred NONE
代码仅用stdlib,无subprocess等shell调用

Suspicious artifacts and egress

Medium External URL
https://compliancehub.cn

SKILL.md:21

Medium External URL
https://compliancehub.cn/account.html?skill=coppa-check

SKILL.md:71

Medium External URL
https://clawhub.ai/user/wwumit

skill-card.md:9

Medium External URL
https://clawhub.ai/wwumit/skills/coppa-check

skill-card.md:39

Dependencies and supply chain

There are no structured dependency warnings.

File composition

5 files · 660 lines
Python 1 files · 457 linesMarkdown 2 files · 157 linesJSON 2 files · 46 lines
Files of concern · 3
scripts/coppa-check.py Python · 457 lines
--non-interactive 模式影子联网行为 · --output 参数超出声明的文件系统权限
SKILL.md Markdown · 99 lines
https://compliancehub.cn · https://compliancehub.cn/account.html?skill=coppa-check
skill-card.md Markdown · 58 lines
https://clawhub.ai/user/wwumit · https://clawhub.ai/wwumit/skills/coppa-check
Other files · package.json · _meta.json

Security positives

无第三方依赖,仅用Python stdlib(urllib, json, ssl, getpass)
API_BASE硬编码防环境变量注入,注释明确说明安全理由
API Key文件权限设为0600,存储在skill目录外
代码无混淆、无base64编码执行
无凭证收割、无环境变量遍历
无远程脚本执行、无subprocess调用
网络请求使用HTTPS + Bearer token