mcpField
V
vdb

vdb

リモート
vdb.ai.krセキュリティ01 日前に更新
リポジトリ公式サイト

vdb について

vdb は、VDB の脆弱性データを使ってソフトウェア依存関係を確認する MCP サーバー兼 CLI です。コーディングエージェントや開発者が CVE、スロップスクワッティングのリスク、CISA KEV の状態、コミュニティ製 MCP サーバーの信頼プロファイルを調べられ、依存関係の経路分析にはローカルツールを使えます。

主な機能

  1. 01CVE とスロップスクワッティングのパッケージ確認
  2. 02ロックファイルと SBOM のスキャン
  3. 03アドバイザリ参照と脆弱性データ検索
  4. 04コミュニティ製 MCP サーバーの信頼プロファイル確認
  5. 05依存関係の呼び出し経路をローカルで分析・検証
  6. 06依存関係の修正候補を優先順位付け

活用シーン

  1. 01インストール前のパッケージ検査
  2. 02プロジェクトのロックファイルに含まれるリスク確認
  3. 03MCP サーバーの信頼プロファイル確認
  4. 04脆弱な依存経路の追跡と修正の優先付け

MCP 対応

パッケージ、アドバイザリ、脆弱性検索、MCP サーバーの信頼性確認ツールを MCP クライアントに公開します。ローカルの stdio サーバーはファイルを使うハードニングや修正ツールも提供しますが、ホスト型エンドポイントでは利用できません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://vdb.ai.kr/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
pypivdb-mcp0.2.8

ツール

7
パラメーター型必須説明
purlstringはいPackage URL。例:'pkg:npm/lodash'、'pkg:pypi/requests'。
versionstringいいえ任意のバージョン。指定すると、範囲に基づいて照合します。

詳細

vdb-mcp

mcp-name: kr.ai.vdb/vdb

VDB 用の MCP(Model Context Protocol)サーバーです。VDB は AI 対応の脆弱性データベースです。Claude Desktop、Claude Code、Cursor、Cline、Continue、およびあらゆる MCP クライアントから、コードの生成中にパッケージをチェックできます。既知の CVE、スロップスクワッティング(LLM が幻覚したパッケージ名を攻撃者が登録している可能性)、CISA KEV のステータス、MCP サーバーの信頼プロファイルなどを確認できます。

クイックスタート

利用できる場所: コードがある環境で動作します。プロジェクトフォルダーを持つ、マシン上のエージェント(Claude Code、Cursor、Cline、Codex CLI)が対象です。チャット専用のウェブ AI では利用できません。サンドボックスから外部ネットワークにアクセスできず、ファイルも参照できないためです。

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

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

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

インストール不要 — ストリーミング可能な HTTP MCP クライアントから、ホストされたエンドポイントに接続するだけです。

{
  "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"。 ホストされたエンドポイントは、そのヘッダーからキーを読み取ります(0.2.3 以降。Smithery が設定する vdbApiToken クエリパラメーターも引き続き動作し、そちらが優先されます)。

これで完了です。デフォルトでは、サーバーはホストされたインスタンス https://vdb.ai.kr と通信します。パッケージゲート(vdb_check_package、vdb_check_packages、vdb_list_slopsquatting)と強化ツール(vdb_harden、vdb_harden_remediate、vdb_harden_verify、vdb_vex)は、アドレスごとの利用上限内であればキーなしで応答します(0.2.8 以降。1 時間あたり 100 パッケージ、1 時間あたり 3 回、1 日あたり 10 回の分析、依存関係が最大 200 個のプロジェクトに対応し、データは保存されません)。その他のツールには無料の API キーが必要です(https://vdb.ai.kr/signup。またはエージェント自身がメールでキーをリクエストできます。キーがない場合、これらのツールは request_key_url とともに agent_action: REFUSE を返します)。キーの利用には、現在、不正利用対策以外の制限はありません。

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

ツール

ツール機能
vdb_check_package1 つのパッケージ(purl と任意のバージョン)について、脆弱性、スロップリスク、KEV をチェックします
vdb_check_packagesパッケージ一覧を対象に、スロップスクワッティング/リスクを一括チェックします
vdb_scan_lockfileロックファイル/SBOM 全体の判定を統合します(推移的依存関係も含む)
vdb_lookupID(CVE-…、GHSA-…、VDB-SLOP-…)でアドバイザリーを 1 件取得します
vdb_search脆弱性コーパスをフリーテキストで検索します
vdb_check_mcp_serverコミュニティ MCP サーバーの信頼レベルと権限スコープを確認します
vdb_list_slopsquattingエコシステムごとの現在のスロップスクワッティング候補を一覧表示します
vdb_harden (ローカルのみ)呼び出し箇所を強化します。依存関係を通じて、攻撃者のデータが危険なシンクに到達する可能性があるかを確認します。ソースがマシンの外に出ることはありません
vdb_harden_verify (ローカルのみ)修正後に再分析し、経路が閉じたことを示す署名付きの証拠を取得します(キーがない場合は original_path に修正前のファイルを指定してください。判定は署名なしで返されます)
vdb_harden_remediate (ローカルのみ)プロジェクトのリスク削減量とコストに基づいて、アップグレード/強化/削除/ポリシーの候補を修正優先度順に提示し、目標を達成する組み合わせも提案します(0.2.7 以降)
vdb_vex (ローカルのみ)OpenVEX ドキュメントを作成し、到達不能なアドバイザリーを示します

ローカル専用の 4 つのツールにはファイルが必要なため、ホストされたエンドポイントでは提供されません。リモートでは 7 つのツールを、uvx vdb-mcp では 11 個のツールを利用できます。

vdb harden コマンド

同じパッケージには、MCP クライアントを使わずに利用できる、ローカルツールの背後で動作する CLI も含まれています(0.2.2 以降)。

uvx --from vdb-mcp vdb harden app.py --manifest uv.lock   # analyze a call site
uvx --from vdb-mcp vdb harden --doctor                     # which of network / key / service is at fault
uvx --from vdb-mcp vdb harden ./src --manifest uv.lock --vex
uvx --from vdb-mcp vdb harden app.py --manifest uv.lock --remediate --target 0.2   # what to fix first
uvx --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

キーなしで利用できます(0.2.8 以降)。アドレスごとに 1 時間あたり 3 回、1 日あたり 10 回まで分析でき、データは保存されず、アップグレードは推定されます。VDB_API_KEY を設定すると、プロジェクトが保持され、経路上のパッケージが変更された際に再スコアリングされ、証拠に署名されます。

PyPI にアクセスできない場合は、https://vdb.ai.kr/v1/harden/client.pyz が標準ライブラリのみを使用する単一ファイル版の同じ CLI です(ハッシュは /v1/harden/client.sha256)。python3 client.pyz --doctor を実行してください。インストールは不要です。

環境

変数デフォルト意味
VDB_API_URLhttps://vdb.ai.kr問い合わせる VDB インスタンス(セルフホストの場合に設定)
VDB_API_TOKEN(empty)vdb_… API キー — キーなしでの利用制限が解除されます。照会、検索、SBOM スキャンに必要です
VDB_PROXY_TOKEN(empty)ホスト型エンドポイント専用(0.2.9+):API と共有するシークレットです。これにより、API はこのサーバーが転送する訪問者アドレスを信頼し、キーなしでアクセスする訪問者がそれぞれ個別にカウントされます。それ以外の権限は付与されません。ローカルでは設定しないでください
VDB_API_ADDR144.202.127.83このマシンの DNS で解決できない場合の VDB の場所 — 詳細は以下を参照
MCP_MODEstdiostdio または sse(長時間稼働する HTTP サーバー)
MCP_PORT7700SSE ポート
外向き DNS が使えない場合

サンドボックスでは、外部への通信は許可されていても名前解決が許可されていないことがよくあります。vdb.ai.kr の名前解決に失敗した場合に限り、サーバーは VDB_API_ADDR を使って再試行します。これは DNS を迂回するだけです。TLS ハンドシェイクでは引き続き実際のホスト名が提示され、その証明書が検証されるため、接続先を固定しても、名前解決した場合と同じ認証が行われます。HTTP エラー、接続拒否、タイムアウトの場合は再試行されません。名前解決には成功しているため、アドレスは同じサーバーを指すからです。

理由

LLM はパッケージ名を幻覚し、攻撃者はそうした名前を登録します(スロップスクワッティング)。LLM は、既知の RCE があるパッケージもためらわずに推奨します。VDB はエージェントにガードレールを提供します。npm install/pip install の前にツールを 1 回呼び出すだけです。MCP をまったく必要としない、1 行のプロンプト形式については https://vdb.ai.kr/connect を参照してください。

ライセンス

Elastic License 2.0 — 商業組織や CI 内を含め、無料で利用できます。制限は次のとおりです。このソフトウェアをホスト型またはマネージドサービスとして第三者に提供したり、製品として再販売したりすることはできません。それ以外の商用ライセンスについては、[email protected] までお問い合わせください。API の利用には、呼び出し方法にかかわらず VDB サービス規約が適用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。