低风险 — 风险评分 20/100
上次扫描:4 小时前 重新扫描
20 /100
substreams-search-mcp
Substreams 区块链包注册表搜索、检查与分析 MCP 服务器
合法的 Substreams 区块链包注册表搜索/分析工具,代码无恶意行为,但 TypeScript 实现的 HTTP/SSE 传输在 SKILL.md 中未明确声明。
技能名称substreams-search-mcp
分析耗时52.7s
引擎pi
ClawHub Substreams Search v1.3.2 by paulieb14
📥 187
ClawHub 判定 可疑 env_credential_accessllm_suspicious
可以安装
建议在 SKILL.md 中补充说明 SSE/HTTP 传输的网络暴露范围(默认仅本地 3849 端口)。

安全发现 2 项

严重性 安全发现 位置
低危
SSE/HTTP 传输功能文档不完整 文档欺骗
SKILL.md 提到'MCP_HTTP_PORT'环境变量但未明确说明 HTTP 传输启动本地网络服务器(默认 3849 端口)。README.md 有完整描述但不在技能声明范围内。实际为合法 MCP 架构功能,无恶意意图。
const httpPort = process.env.MCP_HTTP_PORT || (process.argv.includes('--http') ? '3849' : null);
→ 在 SKILL.md 的 Network & Data Behavior 部分补充说明 SSE/HTTP 传输(本地 3849 端口)的存在和用途
src/index.ts:330
提示
第三方依赖无版本锁定 供应链
requirements.txt 中 beautifulsoup4 和 requests 使用 * 匹配版本;package.json 中 express/zod/node-html-parser 等均使用 ^ 范围版本,存在拉取最新版本的潜在风险。
beautifulsoup4
requests
→ 建议锁定具体版本号以确保可复现性
requirements.txt:1
资源类型声明权限推断权限状态证据
文件系统 NONE NONE 所有代码仅进行内存数据处理,无文件读写操作
网络访问 READ READ ✓ 一致 src/index.ts:93-96 server.py:35-36 仅 GET 请求 substreams.dev 和 spkg.io,无主动外传
命令执行 NONE NONE 代码无任何 subprocess / exec / shell 调用
环境变量 NONE NONE 仅读取 MCP_HTTP_PORT 和标准 process.argv,无敏感环境变量遍历
数据库 NONE NONE SKILL.md 声明无本地持久化,代码确认仅内存操作
13 项发现
🔗
中危 外部 URL 外部 URL
https://img.shields.io/npm/v/substreams-search-mcp
README.md:3
🔗
中危 外部 URL 外部 URL
https://www.npmjs.com/package/substreams-search-mcp
README.md:3
🔗
中危 外部 URL 外部 URL
https://glama.ai/mcp/servers/@PaulieB14/substreams-search-mcp-server
README.md:5
🔗
中危 外部 URL 外部 URL
https://glama.ai/mcp/servers/@PaulieB14/substreams-search-mcp-server/badge
README.md:6
🔗
中危 外部 URL 外部 URL
https://substreams.dev
README.md:9
🔗
中危 外部 URL 外部 URL
https://spkg.io/creator/package-v1.0.0.spkg
README.md:69
🔗
中危 外部 URL 外部 URL
https://glama.ai/mcp/schemas/server.json
glama.json:2
🔗
中危 外部 URL 外部 URL
https://opencollective.com/express
package-lock.json:184
🔗
中危 外部 URL 外部 URL
https://opencollective.com/fastify
package-lock.json:596
🔗
中危 外部 URL 外部 URL
https://substreams.dev/packages
server.py:13
🔗
中危 外部 URL 外部 URL
https://substreams.dev$
src/index.ts:71
🔗
中危 外部 URL 外部 URL
https://spkg.io/
src/index.ts:238
🔗
中危 外部 URL 外部 URL
https://spkg.io/streamingfast/substreams-uniswap-v3-v0.2.10.spkg
src/index.ts:269

目录结构

9 文件 · 80.1 KB · 2361 行
JSON 4f · 1437L TypeScript 1f · 601L Markdown 2f · 178L Python 1f · 142L Text 1f · 3L
├─ 📁 src
│ └─ 📜 index.ts TypeScript 601L · 20.0 KB
├─ 📋 glama.json JSON 6L · 100 B
├─ 📋 package-lock.json JSON 1342L · 46.6 KB
├─ 📋 package.json JSON 73L · 1.6 KB
├─ 📝 README.md Markdown 136L · 5.1 KB
├─ 📄 requirements.txt Text 3L · 33 B
├─ 🐍 server.py Python 142L · 4.5 KB
├─ 📝 SKILL.md Markdown 42L · 1.9 KB
└─ 📋 tsconfig.json JSON 16L · 338 B

依赖分析 7 项

包名版本来源已知漏洞备注
beautifulsoup4 * pip 无版本锁定
requests * pip 无版本锁定
@modelcontextprotocol/sdk ^1.12.1 npm 使用 ^ 范围版本
@substreams/core ^0.17.0 npm 使用 ^ 范围版本
express ^4.21.0 npm 使用 ^ 范围版本
node-html-parser ^7.0.1 npm 使用 ^ 范围版本
zod ^3.24.0 npm 使用 ^ 范围版本

安全亮点

✓ 所有 MCP 工具均标注 readOnlyHint: true,与实际只读行为一致
✓ 无任何凭证、密钥、环境变量遍历或敏感文件访问
✓ 网络请求仅限 substreams.dev 和 spkg.io 两个公开 API 端点
✓ 代码结构清晰,错误处理完善(30s fetch 超时、session 生命周期管理)
✓ Mermaid 模块图生成增强了可审计性