Xray Mcp について
Xray Mcpは、ModelScope上でのホスティング向けに、xrayの脆弱性スキャンをMCPクライアントから利用できるようにします。スキャン方式やパラメーターを設定でき、スキャナーのバージョンも確認できます。
主な機能
- 01対象URLのスキャン
- 02クローラー方式の選択
- 03タイムアウト、プラグイン、POCの設定
- 04詳細なJSON結果の出力
- 05xrayバージョンの取得
活用シーン
- 01ホストされたURLの脆弱性スキャン
- 02スキャン用クローラーモードの選択
- 03インストール済みxrayのバージョン確認
MCP 対応
xrayのスキャンとバージョン照会用ツールを提供するMCPサーバーで、ModelScopeのMCPプラットフォームとの連携を想定しています。プロキシおよび非HTTPサービスのスキャンツールは計画中です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Xray MCP Server
ModelScope ホスティング向けに、xray による脆弱性スキャン機能を提供する拡張 MCP(Model Context Protocol)サーバーです。
機能
-
xray_scan:対象 URL の脆弱性スキャンを実行します
- basic-crawler および phantasm-crawler のスキャンタイプに対応
- タイムアウトを設定可能
- プラグインと POC に対応
- 詳細な結果を含む JSON 出力
-
xray_version:xray のバージョン情報を取得します
-
xray_start_proxy:xray をパッシブプロキシモードで起動します(予定)
- プロキシポートを設定可能
- リアルタイムの脆弱性検出
-
xray_stop_proxy:実行中の xray プロキシを停止します(予定)
-
xray_service_scan:HTTP 以外の対象でサービスをスキャンします(予定)
- ポート範囲のスキャン
- サービスの検出
インストール
- Python 3.7+ をインストールします
- https://github.com/chaitin/xray から xray をインストールします
- XRAY_PATH 環境変数に xray バイナリのパスを設定します:
export XRAY_PATH=/path/to/xray
設定
環境変数:
XRAY_PATH:xray バイナリのパス(デフォルト:"xray")XRAY_CONFIG_DIR:設定ディレクトリ(デフォルト:"~/.xray-mcp")XRAY_OUTPUT_DIR:スキャン結果の出力ディレクトリ(デフォルト:システムの一時ディレクトリ)
使用方法
ModelScope MCP 向け
このサーバーは ModelScope の MCP プラットフォームで動作するように設計されています。MCP プロトコルを実装しており、ModelScope エコシステムに統合できます。
単体での使用
サーバーを実行します:
python server.py
サーバーは標準入力から JSON-RPC リクエストを読み取り、標準出力に応答を書き込みます。
リクエストの例
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "xray_scan",
"arguments": {
"target": "http://example.com",
"scan_type": "basic-crawler",
"timeout": 300
}
}
}
利用可能なツール
xray_scan
対象 URL の脆弱性スキャンを実行します。
パラメーター:
target(必須):スキャンする対象 URLscan_type(任意):スキャンタイプ。"basic-crawler" または "phantasm-crawler"(デフォルト:"basic-crawler")timeout(任意):スキャンのタイムアウト秒数(デフォルト:300)plugins(任意):使用するプラグインのカンマ区切りリストpoc(任意):スキャンに使用する POC
xray_version
インストール済みの xray スキャナーのバージョン情報を取得します。
パラメーターは不要です。
xray_start_proxy(予定)
リアルタイムスキャン用に、xray をパッシブプロキシモードで起動します。
パラメーター:
port(任意):リッスンするプロキシポート(デフォルト:7777)
xray_stop_proxy(予定)
実行中の xray プロキシを停止します。
パラメーターは不要です。
xray_service_scan(予定)
HTTP 以外の対象でサービスをスキャンします。
パラメーター:
target(必須):スキャンする対象のホスト/IPport_range(任意):スキャンするポート範囲(デフォルト:"1-65535")timeout(任意):スキャンのタイムアウト秒数(デフォルト:300)
セキュリティに関する考慮事項
- サーバーは、ユーザーが指定した URL を使用して xray を実行します
- デプロイ時には適切なアクセス制御を実装してください
- 本番環境での使用では、レート制限を検討してください
- すべての入力を検証し、サニタイズしてください
ライセンス
MIT License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。