可信 — 风险评分 10/100
上次扫描:4 小时前 重新扫描
10 /100
subgraph-registry
The Graph Subgraph Registry - Agent-friendly discovery of 15,500+ classified subgraphs on The Graph Network
The Graph Subgraph Registry 发现工具,代码干净无恶意行为,仅存在文档完整性轻微瑕疵(MCP服务器从GitHub下载预构建数据库未在SKILL.md声明)。
技能名称subgraph-registry
分析耗时59.2s
引擎pi
ClawHub Subgraph Registry v0.3.0 by paulieb14
📥 168
ClawHub 判定 可疑 env_credential_accessllm_suspicious
可以安装
无需阻断。可考虑补充说明从GitHub下载registry.db的行为以提升透明度。

安全发现 3 项

严重性 安全发现 位置
低危
从GitHub下载预构建数据库未在文档中声明 文档欺骗
mcp_server.py和index.js均在启动时从https://github.com/PaulieB14/subgraph-registry下载预构建的registry.db,但SKILL.md未提及此行为。下载行为本身是合理的(加速初始化、避免每次重建),但应补充说明。
urllib.request.urlretrieve(GITHUB_DB_URL, str(DB_PATH))
→ 在SKILL.md的Install或Tools部分补充说明:'首次启动时会自动从GitHub下载预构建的subgraph分类数据库'
python/mcp_server.py:137
提示
支持可选的Graph API Key配置 敏感访问
crawler.py和mcp_server.py支持通过环境变量GATEWAY_API_KEY或.env文件配置Graph Gateway API密钥。代码正确处理了key缺失情况(使用无key的公开端点),无凭证外传风险。
GATEWAY_API_KEY = os.environ.get('GATEWAY_API_KEY', '')
→ 无需修改,已正确实现
python/crawler.py:33
提示
依赖包无版本锁定 供应链
requirements.txt中httpx、polars、fastapi等依赖未指定版本范围,可能引入供应链风险
httpx[http2]>=0.27
→ 建议锁定版本以提高可复现性和安全性
python/requirements.txt:1
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 所有文件操作仅限于python/data/目录
网络访问 NONE READ ✓ 一致 mcp_server.py:137 从GitHub下载数据库
命令执行 NONE NONE 无shell执行调用
环境变量 NONE READ ✓ 一致 crawler.py:33 读取GATEWAY_API_KEY,仅用于Graph API调用
14 项发现
🔗
中危 外部 URL 外部 URL
https://glama.ai/mcp/servers/PaulieB14/subgraph-registry
README.md:3
🔗
中危 外部 URL 外部 URL
https://glama.ai/mcp/servers/PaulieB14/subgraph-registry/badge
README.md:4
🔗
中危 外部 URL 外部 URL
https://thegraph.com
README.md:7
🔗
中危 外部 URL 外部 URL
https://glama.ai/mcp/schemas/server.json
glama.json:2
🔗
中危 外部 URL 外部 URL
https://gateway.thegraph.com/api/
python/crawler.py:38
🔗
中危 外部 URL 外部 URL
https://gateway.thegraph.com/api/subgraphs/id/
python/crawler.py:40
🔗
中危 外部 URL 外部 URL
https://gateway.thegraph.com/api/[api-key
python/mcp_server.py:140
🔗
中危 外部 URL 外部 URL
https://thegraph.com/studio/apikeys/
python/mcp_server.py:148
🔗
中危 外部 URL 外部 URL
https://uniswap.org
python/test_classifier.py:11
🔗
中危 外部 URL 外部 URL
https://aave.com
python/test_classifier.py:31
🔗
中危 外部 URL 外部 URL
https://ens.domains
python/test_classifier.py:53
🔗
中危 外部 URL 外部 URL
https://premia.blue
python/test_classifier.py:72
🔗
中危 外部 URL 外部 URL
https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json
server.json:2
🔗
中危 外部 URL 外部 URL
https://gateway.thegraph.com/api/YOUR_KEY/subgraphs/id/$
src/index.js:288

目录结构

15 文件 · 111.5 KB · 3171 行
Python 7f · 2361L JavaScript 1f · 480L Markdown 2f · 247L JSON 4f · 78L Text 1f · 5L
├─ 📁 python
│ ├─ 📁 data
│ │ └─ 📋 sync-state.json JSON 4L · 121 B
│ ├─ 🐍 classifier.py Python 635L · 21.8 KB
│ ├─ 🐍 crawler.py Python 460L · 15.0 KB
│ ├─ 🐍 mcp_server.py Python 450L · 16.7 KB
│ ├─ 🐍 registry.py Python 305L · 11.4 KB
│ ├─ 📄 requirements.txt Text 5L · 74 B
│ ├─ 🐍 scheduler.py Python 67L · 2.1 KB
│ ├─ 🐍 server.py Python 295L · 9.7 KB
│ └─ 🐍 test_classifier.py Python 149L · 6.8 KB
├─ 📁 src
│ └─ 📜 index.js JavaScript 480L · 17.7 KB
├─ 📋 glama.json JSON 4L · 92 B
├─ 📋 package.json JSON 41L · 968 B
├─ 📝 README.md Markdown 224L · 7.2 KB
├─ 📋 server.json JSON 29L · 752 B
└─ 📝 SKILL.md Markdown 23L · 1.1 KB

依赖分析 5 项

包名版本来源已知漏洞备注
httpx >=0.27 pip 无版本锁定
polars >=1.0 pip 无版本锁定
fastapi >=0.115 pip 无版本锁定
@modelcontextprotocol/sdk * npm package.json无版本锁定
better-sqlite3 * npm package.json无版本锁定

安全亮点

✓ 代码结构清晰,无混淆或反分析技术
✓ 无凭证收割、环境变量遍历等高危行为
✓ 无shell执行、反向shell或代码注入风险
✓ 网络请求仅限于The Graph官方API和GitHub预构建数据库
✓ 文件系统操作仅限python/data/目录
✓ SQLite数据库为只读模式(server.py)或运行时创建(registry.py)
✓ 工具功能与SKILL.md声明基本一致