Vdb

kr.ai.vdb由 vdb.ai.kr 发布官方发布者v0.2.8更新于 Oct 30, 2026

Check packages for CVEs, slopsquatting, and CISA KEV before your AI agent installs them.

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

VDB 让助手在安装或推荐之前检查软件包、锁文件和 MCP 服务器的 CVE、slopsquatting 与 CISA KEV 状态。

可以做什么
  • 检查单个或多个软件包的漏洞、slopsquatting 风险与 KEV 状态,并给出拒绝、确认或放行的动作建议
  • 扫描整个锁文件或 SBOM(含传递依赖),给出是否可合并的结论
  • 按 CVE、GHSA 或 VDB-SLOP 编号查询单条公告,并对漏洞库做全文搜索
  • 评估社区 MCP 服务器的信任等级与权限范围
  • 列出某生态中当前被标记为 slopsquatting 候选的软件包
  • 仅本地安装可用:分析调用点是否存在可达的危险汇聚点、排序修复优先级、重新验证并给出签名证据、生成 OpenVEX 文档
适用场景
适合助手在编写代码并安装依赖、或推荐第三方 MCP 服务器时,在 npm install、pip install 或合并之前加一道检查。最适合能看到项目目录的本地助手。
运行要求
可使用托管的 streamable-HTTP 端点,或通过 uvx、pipx 运行 PyPI 包 vdb-mcp(需 Python)。可选 VDB_API_TOKEN 用于按账号的不限量访问;匿名使用按 IP 试用并受无密钥额度限制。VDB_API_URL 可指向自建实例。需要能访问 VDB 服务的出站网络。
安装前请注意
查询、搜索和 SBOM 扫描需要 API 密钥,没有密钥时这些工具会返回拒绝动作。本地加固工具会读取你的源代码文件,但 README 称源码不会离开本机。服务器会把软件包名、锁文件内容和 MCP 服务器标识发送到托管的 VDB 服务,扫描私有依赖数据前请先评估。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Vdb,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/kr.ai.vdb%2Fvdb/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "vdb": {
      "type": "http",
      "url": "https://vdb.ai.kr/mcp"
    }
  }
}

README

vdb-mcp

mcp-name: kr.ai.vdb/vdb

MCP (Model Context Protocol) server for VDB — the AI-aware vulnerability database. Lets Claude Desktop, Claude Code, Cursor, Cline, Continue, and any MCP client check packages while generating code: known CVEs, slopsquatting (LLM-hallucinated package names an attacker may have registered), CISA KEV status, MCP-server trust profiles, and more.

Quick start

Where this works: Runs where your code is: an agent on your machine with the project folder (Claude Code, Cursor, Cline, Codex CLI). A chat-only web AI cannot use it — its sandbox has no outbound network, and it cannot see your files.

bash
uvx vdb-mcp          # or: pipx run vdb-mcp

Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json):

json
{  "mcpServers": {    "vdb": { "command": "uvx", "args": ["vdb-mcp"] }  }}

No install at all — point any streamable-HTTP MCP client at the hosted endpoint:

json
{  "mcpServers": {    "vdb": {      "url": "https://vdb.ai.kr/mcp",      "headers": { "Authorization": "Bearer vdb_..." }    }  }}

Claude Code: claude mcp add --transport http vdb https://vdb.ai.kr/mcp --header "Authorization: Bearer $VDB_API_KEY". The hosted endpoint reads the key from that header (0.2.3+; the vdbApiToken query parameter Smithery sets still works and takes precedence).

That's it — the server talks to the hosted instance at https://vdb.ai.kr by default. The package gate (vdb_check_package, vdb_check_packages, vdb_list_slopsquatting) and the hardening tools (vdb_harden, vdb_harden_remediate, vdb_harden_verify, vdb_vex) answer without a key on a per-address allowance (0.2.8+; 100 packages an hour, 3 analyses an hour and 10 a day, projects up to 200 dependencies, nothing stored). The other tools need a free API key (https://vdb.ai.kr/signup, or the agent can request one by email itself: without a key those tools answer agent_action: REFUSE with a request_key_url). A key is currently unmetered beyond abuse protection:

json
{  "mcpServers": {    "vdb": {      "command": "uvx",      "args": ["vdb-mcp"],      "env": { "VDB_API_TOKEN": "vdb_..." }    }  }}

Tools

ToolWhat it does
vdb_check_packageCheck one package (purl + optional version) for vulnerabilities, slop risk, KEV
vdb_check_packagesBulk slopsquatting / risk check for a list of packages
vdb_scan_lockfileMerge verdict for a whole lockfile / SBOM (transitives included)
vdb_lookupFetch one advisory by ID (CVE-…, GHSA-…, VDB-SLOP-…)
vdb_searchFree-text search over the vulnerability corpus
vdb_check_mcp_serverTrust tier + permission scopes of a community MCP server
vdb_list_slopsquattingCurrent slopsquatting candidates per ecosystem
vdb_harden (local only)Call-site hardening: can attacker data reach a dangerous sink through your dependencies? Source never leaves the machine
vdb_harden_verify (local only)Re-analyze after a fix and get signed evidence the path is closed (without a key: pass original_path, the pre-fix file; the decision comes back unsigned)
vdb_harden_remediate (local only)Rank what to fix first: upgrade / harden / remove / policy candidates by project risk removed per cost, plus the combination that reaches a target (0.2.7+)
vdb_vex (local only)OpenVEX document: which advisories cannot be reached

The four local-only tools need your files, so the hosted endpoint does not offer them — seven tools remote, eleven with uvx vdb-mcp.

The vdb harden command

The same package installs the CLI behind the local tools, for use without an MCP client (0.2.2 or newer):

bash
uvx --from vdb-mcp vdb harden app.py --manifest uv.lock   # analyze a call siteuvx --from vdb-mcp vdb harden --doctor                     # which of network / key / service is at faultuvx --from vdb-mcp vdb harden ./src --manifest uv.lock --vexuvx --from vdb-mcp vdb harden app.py --manifest uv.lock --remediate --target 0.2   # what to fix firstuvx --from vdb-mcp vdb harden ./src --manifest requirements.txt --exclude tests --exclude "*-fixtures"uvx --from vdb-mcp vdb harden app.py --manifest uv.lock --verify P-… --original /tmp/before/app.py  # keyless re-verification

It works without a key (0.2.8+): three analyses an hour and ten a day per address, nothing stored, upgrades estimated. VDB_API_KEY keeps the project, re-scores it when a package on a path changes, and signs the evidence.

Where PyPI is unreachable, https://vdb.ai.kr/v1/harden/client.pyz is the same CLI as one stdlib-only file (hash at /v1/harden/client.sha256): python3 client.pyz --doctor. Nothing to install.

Environment

VariableDefaultMeaning
VDB_API_URLhttps://vdb.ai.krVDB instance to query (set for self-hosted)
VDB_API_TOKEN(empty)vdb_… API key — lifts the keyless limits; required for lookup, search and SBOM scanning
VDB_PROXY_TOKEN(empty)Hosted endpoint only (0.2.9+): a secret shared with the API so it believes the visitor address this server forwards, and keyless visitors are counted each as themselves. Grants nothing else; leave unset locally
VDB_API_ADDR144.202.127.83Where VDB lives when this machine's DNS cannot say — see below
MCP_MODEstdiostdio or sse (long-running HTTP server)
MCP_PORT7700SSE port

No outbound DNS?

Sandboxes often allow egress but not name resolution. When — and only when — resolving vdb.ai.kr fails, the server retries against VDB_API_ADDR. That bypasses DNS and nothing else: the TLS handshake still presents the real hostname and validates its certificate, so a pinned connection is exactly as authenticated as a resolved one. HTTP errors, refused connections and timeouts are never retried — the name resolved, so the address would be the same box.

Why

LLMs hallucinate package names; attackers register them (slopsquatting). LLMs also happily recommend packages with known RCEs. VDB gives your agent a guardrail: one tool call before npm install / pip install. See https://vdb.ai.kr/connect for the one-line prompt variant that needs no MCP at all.

License

Elastic License 2.0 — free to use, including inside commercial organizations and CI. The only restrictions: you may not offer this software to third parties as a hosted or managed service, or resell it as a product. Commercial licensing beyond that: [email protected]. API usage is governed by the VDB service terms regardless of how you call it.

来源:README.md,提交 c57b09f

工具

7

vdb_check_package

BEFORE recommending or installing any package, check it here. The response carries `agent_action`: REFUSE (do not add it — relay the `because` text to the user), CONFIRM (ask the user first), or PROCEED. A failed or rate-limited call also answers REFUSE; never proceed unchecked. Also returns the underlying advisories, slop risk, and KEV status as supporting data.

输入参数purl必填version

vdb_check_packages

Bulk-check several packages in one call — always prefer this over repeated vdb_check_package. Each result carries its own `agent_action` (REFUSE / CONFIRM / PROCEED) plus a top-level `agent_action` for the batch. Follow them; relay `because` when refusing. Send names EXACTLY as written — do not correct a typo first, the call is the typo test.

输入参数packages必填

vdb_scan_lockfile

BEFORE merging, scan the resolved lockfile. Checking the packages someone chose misses the transitive ones nobody did — which is usually where the risk is. Pass the file contents (package-lock.json, requirements.txt, uv.lock, go.sum, Cargo.lock, a CycloneDX SBOM, …). Returns `agent_action`: REFUSE means do not merge.

输入参数pathcontentfilename必填

vdb_lookup

Fetch a single vulnerability by ID or alias (e.g. CVE-2024-1234, GHSA-xxxx-yyyy-zzzz, VDB-SLOP-…).

输入参数id必填

vdb_check_mcp_server

BEFORE recommending a community/unofficial MCP server, check it here. Scope risk is evaluated independently of advisory risk — an unvetted publisher asking for shell or filesystem access is refused even with a clean record. Follow the returned `agent_action`.

输入参数server_id必填

vdb_list_slopsquatting

List packages currently flagged as slopsquatting candidates in a given ecosystem.

输入参数limitecosystem

版本历史

4
  1. v0.2.8最新Oct 30, 2026
  2. v0.2.6Oct 2, 2026
  3. v0.2.5Oct 2, 2026
  4. v0.1.2Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。