Vulnerable MCP Server について
Vulnerable MCP Serverは、SQLインジェクションやリモートコード実行を検証するための、意図的に脆弱なセキュリティ研究用アプリです。Ollama LLMで自然言語入力を生SQLまたはシェルコマンドに振り分けるため、隔離環境でのみ使用します。
主な機能
- 01LLMによるリクエスト振り分け
- 02SQLとターミナルコマンドの実行
- 03サンプルデータ付きSQLiteの初期化
- 04プラグイン可能なJSON-RPCメソッド
- 05脆弱性テスト向けの設計
活用シーン
- 01ラボでのSQLインジェクション検証
- 02コマンド実行リスクの調査
- 03隔離環境でのセキュリティ演習
MCP 対応
プロジェクトはMCP サーバーと称していますが、READMEに記載されているのはJSON-RPC APIであり、MCP クライアント向けのツールやリソースは説明されていません。認証がなく意図的に危険なため、本番環境では使用しないでください。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
脆弱な MCP サーバー
このプロジェクトは、セキュリティ研究を目的として設計された、意図的に脆弱な MCP(Model Context Protocol) アプリです。
本番環境では使用しないでください。
認証や制限なしに、生の SQL とシステムコマンドを実行します。
⚙️ MCP サーバー
以下を組み合わせたコマンド実行サーバーです。
- FastAPI による HTTP インターフェース
- SQLite による永続データベース
- Ollama LLM による自然言語クエリの解釈
- メイン API プロトコルとしての JSON-RPC
このシステムは、Ollama を介してローカルで実行される LLM を使用し、自然言語入力を SQL クエリまたはシェルコマンドに振り分けます。
FastAPI、JSON-RPC、LLM ベースの判断ロジックを介した
**SQL インジェクション(SQLi)とリモートコード実行(RCE)**の脆弱性をテストするために構築されています。
⚙️ 警告:セキュリティに関する注意
このアプリは意図的に安全ではない設計です。
- ❗ 認証やアクセス制御はありません
- ❗ 生の SQL クエリとシェルコマンドを受け付け、実行します
- ❗ 入力検証はありません
- ❗ LLM の応答をそのまま実行します
隔離された環境、CTF、または研究用ラボでのみ使用してください。
⚙️ 機能
- コマンド振り分け(SQL または CLI)のための LLM ベースの判断ロジック
- SQL とターミナルコマンドのネイティブ実行
- サンプルデータを含む SQLite データベースの自動初期化
- シンプルでプラグイン可能な JSON-RPC メソッド
- 意図的に脆弱な設計 — 攻撃・防御テストに適しています
⚙️ インストール
git clone https://github.com/your-repo/mcp-vulnerable-app.git
cd mcp-vulnerable-app
docker-compose up --build
docker network connect mcplab ollama
docker network connect mcplab mcp_internal
docker network connect mcplab mcp_remote
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。