🚀 MCP脆弱性チェッカーサーバー
モジュール型のモデルコンテキストプロトコル(MCP)サーバーで、CVE検索、EPSSスコアリング、CVSS計算、エクスプロイト検出、Pythonパッケージの脆弱性チェックなど、包括的なセキュリティ脆弱性インテリジェンスツールを提供します。
🚀 クイックスタート
脆弱性インテリジェンスMCPサーバーはすでにホストされており、すぐに使用できます!MCPクライアントを構成して接続するだけです。
クロードデスクトップの設定
この設定をクロードデスクトップの設定ファイル(~/.config/claude/claude_desktop_config.json
)に追加します:
{
"mcpServers": {
"vulnerability-intelligence": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"],
"env": {
"FETCH_URL": "https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse"
}
}
}
}
Cursor IDEの設定
この設定をCursorのMCP設定ファイル(~/.cursor/mcp.json
)に追加します:
{
"mcpServers": {
"vulnerability-intelligence": {
"url": "https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse"
}
}
}
あるいは、Cursor IDEで以下の手順を実行します:
- Cursor設定 → 機能 → MCPサーバーを開く
- 「新しいサーバーを追加」をクリック
- タイプとして「Server-Sent Events (SSE)」を選択
- URLを入力:
https://vulnerability-intelligence-mcp-server-edb8b15494e8.herokuapp.com/sse
- 名前を付ける:
vulnerability-intelligence
接続のテスト
設定が完了したら、クロードまたはCursorでこれらのサンプルクエリを試してみてください:
- CVE検索:「CVE-2021-44228を検索」(Log4Shell脆弱性)
- EPSSスコア:「CVE-2021-44228のEPSSスコアを取得」
- パッケージチェック:「'requests' Pythonパッケージの脆弱性をチェック」
- エクスプロイトチェック:「CVE-2021-44228のエクスプロイトをチェック」
- CVSS計算機:「ベクトルCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HのCVSSスコアを計算」
✨ 主な機能
- CVE脆弱性検索 (
cve_lookup
):NISTのNational Vulnerability Database (NVD) から詳細な脆弱性情報を取得します。CVSSスコア、脆弱性の説明、参照情報、CWEマッピングなどを提供します。
- EPSSスコア検索 (
get_epss_score
):FIRSTのEPSS APIを使用して、CVEのExploit Prediction Scoring System (EPSS) スコアを取得します。30日以内の攻撃確率やAIによるリスク優先順位付けなどを提供します。
- CVSSスコア計算機 (
calculate_cvss_score
):CVSS v3.0/v3.1の仕様に基づいて、ベクトル文字列からCVSSベーススコアを計算します。CVSS v3.0とv3.1のサポート、詳細なメトリックの内訳、深刻度レベルのマッピングなどを提供します。
- 脆弱性検索 (
search_vulnerabilities
):複数の脆弱性データベース(NVD、CVE)を対象に、高度なフィルタリングで脆弱性を検索します。キーワード検索、深刻度フィルタリング、日付範囲フィルタリングなどを提供します。
- エクスプロイト可用性チェック (
get_exploit_availability
):ExploitDB、Metasploit、GitHub、セキュリティアドバイザリーなどの複数のソースから、公開されているエクスプロイトやPoCを検出します。
- 脆弱性タイムライン (
get_vulnerability_timeline
):NVD、ベンダーのアドバイザリー、セキュリティブulletinなどから、脆弱性のタイムラインとパッチ状況の情報を取得します。
- VEXステータスチェック (
get_vex_status
):ベンダーのVEXステートメントと製品のセキュリティアドバイザリーを使用して、特定の製品のVulnerability Exploitability eXchange (VEX) ステータスをチェックします。
- Pythonパッケージ脆弱性チェック (
package_vulnerability_check
):OSV (Open Source Vulnerabilities) データベースとPyPIを使用して、Pythonパッケージの既知のセキュリティ脆弱性をチェックします。
📦 インストール
Dockerセットアップ(ローカル開発に推奨)
- 初期設定:
git clone https://github.com/firetix/vulnerability-intelligence-mcp-server
cd vulnerability-intelligence-mcp-server
cp .env.example .env
- Docker Composeを使用してビルドして実行:
docker compose up --build -d
docker compose logs -f
docker compose ps
docker compose down
-
サーバーは以下のURLで利用可能になります:http://localhost:8000/sse
-
Cursor IDEに接続する:
- Cursor設定 → 機能を開く
- 新しいMCPサーバーを追加
- タイプ:「sse」を選択
- URL:
http://localhost:8000/sse
を入力
ローカル開発セットアップ
- uvパッケージマネージャーをインストール:
brew install uv
pip install uv
- 依存関係をインストールして実行:
uv pip install -e ".[dev]"
uv run mcp-simple-tool
uv run mcp-simple-tool --transport sse --port 8000
python tests/run_tests.py
- Cursor IDEとの統合(stdioモード):
cursor-run-mcp-server.sh
の絶対パスをコピー
- Cursor設定 → 機能 → MCPサーバーを開く
- 「stdio」タイプの新しいサーバーを追加し、スクリプトのパスを入力
💻 使用例
基本的な使用法
クロードまたはCursorで以下のようなクエリを実行して、サーバーの機能をテストできます:
"Look up CVE-2021-44228"
"Get EPSS score for CVE-2021-44228"
"Check the 'requests' Python package for vulnerabilities"
"Check for exploits for CVE-2021-44228"
"Calculate CVSS score for vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
高度な使用法
サーバーのモジュール型アーキテクチャを利用して、新しいセキュリティツールを追加することができます。詳細は README_MODULAR.md を参照してください。
📚 ドキュメント
データソースとAPI
セキュリティのユースケース
このMCPサーバーは、セキュリティエンジニア、開発者、およびチームが以下のようなニーズに対応するために設計されています:
- 脆弱性研究とインテリジェンス:詳細なCVE検索、CVSSおよびEPSSスコアリング、高度な脆弱性検索、エクスプロイトの可用性と脅威インテリジェンスの収集、脆弱性のライフサイクルの理解のためのタイムライン分析。
- リスク評価と優先順位付け:EPSSに基づく攻撃確率のスコアリング、CVSSベクトルの計算と検証、製品固有の影響のVEXステータスチェック、複数のデータソースを組み合わせた多要素リスク分析。
- 依存関係管理:Pythonパッケージのセキュリティ監査、バージョン固有の脆弱性チェック、サプライチェーンセキュリティ評価、オープンソースコンポーネントのリスク評価。
- セキュリティオペレーションとインシデント対応:迅速な脆弱性のトリアージと分類、脅威モデリングのためのエクスプロイトの可用性評価、セキュリティアドバイザリーの調査と相関付け、タイムラインベースのパッチ管理計画。
サーバーの拡張
モジュール型アーキテクチャにより、新しいセキュリティツールを簡単に追加できます:
mcp_simple_tool/tools/
ディレクトリに新しいモジュールを作成する
tools/__init__.py
で関数をエクスポートする
server.py
でツールを登録する
tests/
ディレクトリにテストを追加する
詳細な拡張ガイドは README_MODULAR.md を参照してください。
🔧 技術詳細
サーバーはクリーンなモジュール型アーキテクチャで構築されています:
mcp_simple_tool/
├── server.py # メインのMCPサーバーオーケストレーション
└── tools/ # 個々のツールモジュール
├── cve_lookup.py # CVE脆弱性検索
├── epss_lookup.py # EPSSスコア検索
├── cvss_calculator.py # CVSSスコア計算機
├── vulnerability_search.py # 高度な脆弱性検索
├── exploit_availability.py # エクスプロイトとPoCの検出
├── vulnerability_timeline.py # タイムラインとパッチ状況
├── vex_status.py # VEXステータスチェック
└── package_vulnerability.py # Pythonパッケージのセキュリティチェック
tests/ # 包括的なテストスイート
├── run_tests.py # 自動テストランナー
└── test_*.py # 個々のツールのテスト
🧪 テスト
包括的なテストスイートを実行するには:
python tests/run_tests.py
python tests/test_cve_lookup.py
python tests/test_package_vulnerability.py
python tests/test_modular_server.py
テスト出力の例
CVE検索テスト:
🔍 **CVE Vulnerability Report: CVE-2021-44228**
📅 **Timeline:**
• Published: 2021-12-10T10:15:09.143
• Last Modified: 2023-11-07T04:10:58.217
⚠️ **CVSS Scores:**
• CVSS 3.1: 10.0 (CRITICAL)
パッケージ脆弱性テスト:
🚨 **Python Package Security Report: requests**
⚠️ **Found 11 known vulnerabilities**
📦 **Package Information:**
• Latest Version: 2.32.3
• Summary: Python HTTP for Humans.
🌍 環境変数
利用可能な環境変数(.env
で設定できます):
MCP_SERVER_PORT
(デフォルト: 8000) - サーバーを実行するポート
MCP_SERVER_HOST
(デフォルト: 0.0.0.0) - サーバーをバインドするホスト
DEBUG
(デフォルト: false) - デバッグモードを有効にする
MCP_USER_AGENT
- HTTPリクエストのカスタムユーザーエージェント
🚀 独自インスタンスのデプロイ
脆弱性インテリジェンスサーバーの独自インスタンスをデプロイしたい場合は、Herokuを使用して迅速にデプロイできます:
Herokuへの迅速なデプロイ
-
「Deploy to Heroku」ボタンをクリック

-
デプロイ後、インスタンスは以下のURLで利用可能になります:
https://<your-app-name>.herokuapp.com/sse
-
MCPクライアントを構成して、デプロイしたインスタンスを使用する:
- クロードデスクトップの場合:設定ファイルの
FETCH_URL
を更新する
- Cursor IDEの場合:MCP設定ファイルのURLを更新する
-
同じサンプルクエリでデプロイをテストする:
- CVE検索:「Look up CVE-2021-44228」
- EPSSスコア:「Get EPSS score for CVE-2021-44228」
- パッケージチェック:「Check the 'requests' Python package for vulnerabilities」
- エクスプロイトチェック:「Check for exploits for CVE-2021-44228」
📄 ライセンス
MITライセンス - 詳細は LICENSE ファイルを参照してください。