mcpField
V
Vulnerable MCP Server

Vulnerable MCP Server

ローカル
github.com/evrenyalセキュリティ480 週間前に更新

Vulnerable MCP Server について

Vulnerable MCP Serverは、SQLインジェクションやリモートコード実行を検証するための、意図的に脆弱なセキュリティ研究用アプリです。Ollama LLMで自然言語入力を生SQLまたはシェルコマンドに振り分けるため、隔離環境でのみ使用します。

主な機能

  1. 01LLMによるリクエスト振り分け
  2. 02SQLとターミナルコマンドの実行
  3. 03サンプルデータ付きSQLiteの初期化
  4. 04プラグイン可能なJSON-RPCメソッド
  5. 05脆弱性テスト向けの設計

活用シーン

  1. 01ラボでのSQLインジェクション検証
  2. 02コマンド実行リスクの調査
  3. 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

コメント

MCP は初めてですか?

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

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