Skill Trust Decision

x-entrepreneur-rank

功能正常的X(Twitter)企业家榜单工具,存在文档不完整和隐式外部依赖等轻微瑕疵,无恶意行为证据。

Install decision first Source: ClawHub Scanned: 17 days ago
Files 6
Artifacts 6
Violations 1
Findings 3

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

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.

Pass
Dependencies and supply chain hygiene

Dependencies are present but no obvious high-risk issue stands out.

What drove the risk score up

subprocess 调用未声明 +10

fetch_rank.py 和 generate_report.py 使用 subprocess 调用其他脚本和打开浏览器,SKILL.md 未声明 shell 权限需求

隐式外部 CDN 依赖 +5

generate_report.py 引用 html2canvas CDN,SKILL.md 声称仅用标准库

浏览器自动打开 +5

report 生成后默认调用 xdg-open/open 自动打开浏览器,用户需显式加 --no-open 才能禁用

Most important evidence

Medium Priv Escalation

subprocess 调用未在文档中声明

fetch_rank.py 第 128 行使用 subprocess 调用 generate_report.py,generate_report.py 第 218-224 行使用 subprocess 打开浏览器。SKILL.md 未声明 shell/EXEC 权限需求。

scripts/fetch_rank.py:128
在 SKILL.md 文档中补充说明会调用 subprocess 启动子脚本和浏览器程序。
Medium Supply Chain

隐式外部 CDN 依赖未声明

generate_report.py 生成的 HTML 引用 html2canvas CDN (https://cdn.jsdelivr.net/npm/[email protected]/dist/html2canvas.min.js),用于导出图片功能。SKILL.md 声称「使用 Python 标准库,无需安装第三方包」。

scripts/generate_report.py:205
在文档中声明生成报告需要访问 jsdelivr CDN,或将 html2canvas 打包到本地。
Low Doc Mismatch

浏览器自动打开行为缺少提示

generate_report.py 在不使用 --no-open 参数时会自动调用 xdg-open/open 打开生成的 HTML 报告。这一行为在 SKILL.md 中仅作为隐式功能存在,未在能力声明中明确。

scripts/generate_report.py:218
在文档使用说明中明确提及报告会自动在浏览器中打开,并提醒可用 --no-open 禁用。

Declared capability vs actual capability

Filesystem Pass
Declared WRITE
→
Inferred WRITE
写入 JSON/HTML 到本地,符合文档描述
Network Pass
Declared READ
→
Inferred READ
仅访问 redfox.hk API,与文档一致
Shell Block
Declared NONE
→
Inferred WRITE
fetch_rank.py:128 subprocess调用; generate_report.py:218-224 浏览器打开
Environment Pass
Declared READ
→
Inferred READ
仅读取 REDFOX_API_KEY 用于 API 认证

Suspicious artifacts and egress

Medium External URL
https://redfox.hk/settings/api-keys?source=clawhub

SKILL.md:33

Medium External URL
https://redfox.hk/story/api/x/hotAccount/rankList

references/api_docs.md:10

Medium External URL
https://redfox.hk/story/api/x/userTimeline

references/api_docs.md:46

Medium External URL
https://clawhub.ai/user/redfox-data

skill-card.md:9

Medium External URL
https://clawhub.ai/redfox-data/skills/x-entrepreneur-rank

skill-card.md:40

Info Email
[email protected]

SKILL.md:90

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
urllib stdlib python No 标准库,无风险
html2canvas 1.4.1 jsdelivr CDN No HTML 报告图片导出用,运行时加载

File composition

6 files · 1109 lines
Python 3 files · 812 linesMarkdown 3 files · 297 lines
Files of concern · 5
scripts/generate_report.py Python · 395 lines
隐式外部 CDN 依赖未声明 · 浏览器自动打开行为缺少提示
scripts/fetch_rank.py Python · 282 lines
subprocess 调用未在文档中声明
SKILL.md Markdown · 165 lines
https://redfox.hk/settings/api-keys?source=clawhub · [email protected]
references/api_docs.md Markdown · 74 lines
https://redfox.hk/story/api/x/hotAccount/rankList · https://redfox.hk/story/api/x/userTimeline
skill-card.md Markdown · 58 lines
https://clawhub.ai/user/redfox-data · https://clawhub.ai/redfox-data/skills/x-entrepreneur-rank
Other files · fetch_tweets.py

Security positives

代码结构清晰,无代码混淆、Base64 执行等反分析特征
网络请求仅限声明的 redfox.hk API,无其他外部通信
API 密钥仅用于认证,不外传、不记录日志
无敏感路径访问(~/.ssh, ~/.aws, .env 等)
无凭证收割、环境变量遍历、文件外传等恶意行为
subprocess 调用与声明功能相关(生成报告、打开浏览器),有合理解释
所有异常处理完善,失败账号跳过不中断整批