This report was generated in Chinese. Some content may be in Chinese.
Low Risk — Risk Score 20/100
Last scan:3 hr ago Rescan
20 /100
substreams-search-mcp
Substreams 区块链包注册表搜索、检查与分析 MCP 服务器
合法的 Substreams 区块链包注册表搜索/分析工具,代码无恶意行为,但 TypeScript 实现的 HTTP/SSE 传输在 SKILL.md 中未明确声明。
Skill Namesubstreams-search-mcp
Duration52.7s
Enginepi
ClawHub Substreams Search v1.3.2 by paulieb14
📥 187
ClawHub Verdict Suspicious env_credential_accessllm_suspicious
Safe to install
建议在 SKILL.md 中补充说明 SSE/HTTP 传输的网络暴露范围(默认仅本地 3849 端口)。

Findings 2 items

Severity Finding Location
Low
SSE/HTTP 传输功能文档不完整 Doc Mismatch
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
Info
第三方依赖无版本锁定 Supply Chain
requirements.txt 中 beautifulsoup4 和 requests 使用 * 匹配版本;package.json 中 express/zod/node-html-parser 等均使用 ^ 范围版本,存在拉取最新版本的潜在风险。
beautifulsoup4
requests
→ 建议锁定具体版本号以确保可复现性
requirements.txt:1
ResourceDeclaredInferredStatusEvidence
Filesystem NONE NONE 所有代码仅进行内存数据处理,无文件读写操作
Network READ READ ✓ Aligned src/index.ts:93-96 server.py:35-36 仅 GET 请求 substreams.dev 和 spkg.io,无主动外传
Shell NONE NONE 代码无任何 subprocess / exec / shell 调用
Environment NONE NONE 仅读取 MCP_HTTP_PORT 和标准 process.argv,无敏感环境变量遍历
Database NONE NONE SKILL.md 声明无本地持久化,代码确认仅内存操作
13 findings
🔗
Medium External URL 外部 URL
https://img.shields.io/npm/v/substreams-search-mcp
README.md:3
🔗
Medium External URL 外部 URL
https://www.npmjs.com/package/substreams-search-mcp
README.md:3
🔗
Medium External URL 外部 URL
https://glama.ai/mcp/servers/@PaulieB14/substreams-search-mcp-server
README.md:5
🔗
Medium External URL 外部 URL
https://glama.ai/mcp/servers/@PaulieB14/substreams-search-mcp-server/badge
README.md:6
🔗
Medium External URL 外部 URL
https://substreams.dev
README.md:9
🔗
Medium External URL 外部 URL
https://spkg.io/creator/package-v1.0.0.spkg
README.md:69
🔗
Medium External URL 外部 URL
https://glama.ai/mcp/schemas/server.json
glama.json:2
🔗
Medium External URL 外部 URL
https://opencollective.com/express
package-lock.json:184
🔗
Medium External URL 外部 URL
https://opencollective.com/fastify
package-lock.json:596
🔗
Medium External URL 外部 URL
https://substreams.dev/packages
server.py:13
🔗
Medium External URL 外部 URL
https://substreams.dev$
src/index.ts:71
🔗
Medium External URL 外部 URL
https://spkg.io/
src/index.ts:238
🔗
Medium External URL 外部 URL
https://spkg.io/streamingfast/substreams-uniswap-v3-v0.2.10.spkg
src/index.ts:269

File Tree

9 files · 80.1 KB · 2361 lines
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

Dependencies 7 items

PackageVersionSourceKnown VulnsNotes
beautifulsoup4 * pip No 无版本锁定
requests * pip No 无版本锁定
@modelcontextprotocol/sdk ^1.12.1 npm No 使用 ^ 范围版本
@substreams/core ^0.17.0 npm No 使用 ^ 范围版本
express ^4.21.0 npm No 使用 ^ 范围版本
node-html-parser ^7.0.1 npm No 使用 ^ 范围版本
zod ^3.24.0 npm No 使用 ^ 范围版本

Security Positives

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