
Vector Store Scanner
io.github.4hmetuyar由 GitHub 账号 4hmetuyar 发布v0.1.1更新于 Oct 24, 2026
Probes vector-database endpoints for unauthenticated exposure of embeddings/RAG data
概览
探测向量数据库端点是否存在未认证暴露,让助手检查嵌入与 RAG 数据是否可被无凭据读取。
- 可以做什么
- 扫描单个主机与端口,检查是否存在未认证暴露;未指定类型时自动识别存储类型。
- 列出支持的存储类型以及每项检查所查找的内容。
- 按实例信息、模式与集合列表、实际存储数据逐级升级检查,只报告真正成功的项。
- 覆盖 HTTP 上的 Weaviate、Qdrant、Chroma、Elasticsearch/OpenSearch,以及使用原生协议的 Redis 与 Postgres/pgvector。
- 输出 SARIF 2.1.0 结果以便接入 CI/CD,并可从 guardbee.yml 配置文件读取设置。
- 适用场景
- 适合在审计 RAG 或向量检索部署时确认向量存储未在无认证情况下可访问,或作为在发现高危问题时失败的 CI/CD 检查关卡。
- 运行要求
- 通过 npx 从 npm 包以本地进程方式运行,需要 Node.js;需要能通过网络访问目标向量存储端点。未声明任何 API 密钥或凭据。
安装
在 SourceWeft 中
- 打开 控制台中的 Vector Store Scanner,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@guardbee/mcp-vector-store-scanner
🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch
[npm version] [npm downloads] [License: MIT]
An MCP (Model Context Protocol) server that probes a vector-database (or vector-index-capable) endpoint for unauthenticated exposure — the same class of misconfiguration behind repeated real-world incidents of open Elasticsearch/MongoDB/Redis instances leaking data, now aimed at the RAG-era stack: Weaviate, Qdrant, Chroma, Elasticsearch/OpenSearch, Redis, and Postgres/pgvector.
Every RAG pipeline's embeddings live somewhere. If that vector store is reachable on the network without authentication, anyone who finds it can read (and often write) every document your retrieval pipeline was ever given — including anything sensitive that made it into a chunk.
Telemetry is off by default. With
GUARDBEE_TELEMETRY=1it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields likecontent,tokenorpasswordare replaced with a placeholder. See@guardbee/mcp-telemetry.
How it escalates
Each HTTP-based probe doesn't stop at "is this thing up" — it walks the same path an attacker would, in increasing order of impact, and only reports what actually succeeded:
- Instance info (medium) — version/build details readable without auth. Low impact alone, but confirms the service is exposed and helps fingerprint known CVEs.
- Schema / collection listing (high) — class or collection names readable without auth. Reveals your data model even before any real data is read.
- Actual stored data (critical) — a real object/point/document comes back without auth. This is the finding that matters: your embeddings (and whatever they were built from) are readable by anyone who can reach this port.
Redis and Postgres get the same treatment via their native wire protocols instead of HTTP — a PING (Redis) or a StartupMessage (Postgres) is enough to learn whether authentication is enforced, without ever sending a real password. No credential is ever guessed, brute-forced, or sent — every check here is read-only fingerprinting, the same category of probing dns-intelligence and ssl-inspector already do elsewhere in this monorepo.
Features
- 6 target types: Weaviate, Qdrant, Chroma, Elasticsearch/OpenSearch (HTTP), Redis (raw RESP), Postgres/pgvector (raw wire protocol)
- Auto-detection — fingerprints the endpoint by trying each known type in turn when
typeisn't specified - From-scratch protocol implementations for Redis and Postgres — no client library dependency, no real credentials ever sent, includes a TLS-upgrade path for Postgres's
SSLRequesthandshake - Escalating checks (info → schema → data) so a "critical" finding always means real data was actually read, not just that a port responded
- SARIF 2.1.0 output — CI/CD integration (GitHub Code Scanning, etc.)
- Config file support via
guardbee.yml - 22 unit tests against local mock HTTP/TCP servers, covering every probe's matched/unmatched fingerprint and each escalation level
Quick Start
Claude Desktop / MCP Client
CLI (CI/CD)
MCP Tools
What it catches
Configuration (guardbee.yml)
Limitations (by design)
- Chroma's actual-document read isn't checked — its data-read API varies significantly across versions, so this scanner stops at the collection-listing level for it (still enough to detect the primary "no auth at all" misconfiguration).
- Milvus isn't supported — its primary API is gRPC, which doesn't fingerprint via a lightweight probe the way the others do.
- This checks for unauthenticated read access, not authorization bugs behind a working auth layer (e.g. a valid-but-overprivileged API key) — that's out of scope for an external, credential-less probe.
Development
License
MIT — GuardBee
Feedback
Questions, ideas, or a false positive? Start a thread in GitHub Discussions or open an issue. If GuardBee is useful to you, a ⭐ on the repository helps others find it.
来源:packages/vector-store-scanner/README.md,提交 040e072
工具
0版本历史
1- v0.1.1最新Sep 29, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分