Web Application Penetration Testing MCP について
Web Application Penetration Testing MCP は、Web アプリの構造をマッピングし、業務ロジック上のセキュリティ問題を分析するツールです。認証が必要なスキャンに対応し、サイトマップと分析結果を出力します。
主な機能
- 01ページと操作要素のマッピング
- 02認証情報やトークンによる認証
- 03IDOR とアクセス制御問題の検出
- 04計算上の境界条件とワークフローの分析
- 05DOT 形式のサイトマップ生成
活用シーン
- 01認証が必要なアプリ領域の把握
- 02業務フローに潜む問題の特定
- 03複雑なページのサイトマップ確認
- 04入力項目と境界条件の確認
MCP 対応
名称に MCP を含み、アプリ分析機能を提供しますが、README には MCP クライアントとの接続方法や機能の公開方法が記載されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Web Application Penetration Testing MCP
ビジネスロジックのセキュリティ脆弱性に重点を置き、Web アプリケーションを分析する包括的なツールです。この Master Control Program(MCP)は、標準的なスキャナーでは検出できない潜在的なセキュリティ上の問題を、体系的にクロール、分析、特定します。
概要
Web Application Penetration Testing MCP は、アプリケーション構造の完全なマップを作成し、潜在的なセキュリティ上の弱点、特にビジネスロジックの実装における弱点を特定することで、Web アプリケーションのビジネスコンテキストを把握できるようにします。
主な機能
包括的な検出
- Web アプリケーション全体のツリー構造を自動的に作成します
- すべてのリンク、フォーム、インタラクティブ要素をマッピングします
- 入力フィールドの種類と想定値を特定します
認証への対応
- ログイン/ログアウトページを自動的に検出します
- 認証情報を使用して認証し、保護された領域にアクセスできます
- Cookie ベースとベアラートークン認証の両方に対応しています
ビジネスロジック分析
- IDOR(安全でない直接オブジェクト参照)脆弱性の可能性を特定します
- 数学的計算におけるエッジケースを検出します
- 操作される可能性のある複数ステップのワークフローをマッピングします
- 権限およびアクセス制御の問題を検出します
高度な入力分析
- 入力フィールドの種類を特定します(明示的に定義されていない場合も含む)
- フィールドの種類に基づいて適切なテスト値を生成します
- 機密情報が含まれている可能性のある非表示フィールドを検出します
可視化への対応
- DOT 形式でビジュアルサイトマップを作成します(Graphviz で表示可能)
- より注意を要する複雑なページを強調表示します
インストール
# Clone the repository
git clone https://github.com/yourusername/web-app-penetration-testing-mcp.git
# Navigate to the directory
cd web-app-penetration-testing-mcp
# Install dependencies - using uv
pip install -r requirements.txt
使用方法
現時点では、other.py が継続版のツールです
基本的な操作
# Basic usage
python web_app_mcp.py https://example.com
# With authentication
python web_app_mcp.py https://example.com --username [email protected] --password mysecretpassword
# Create visual sitemap
python web_app_mcp.py https://example.com --visual
# Control crawl speed and depth
python web_app_mcp.py https://example.com --delay 1.0 --max-pages 200
コマンドライン引数
| 引数 | 説明 |
|---|---|
url | 対象の Web アプリケーション URL(必須) |
--username | 認証スキャン用のユーザー名 |
--password | 認証スキャン用のパスワード |
--visual | DOT 形式でビジュアルサイトマップを生成します |
--delay | リクエスト間の遅延時間(秒)(デフォルト:0.5) |
--max-pages | スキャンするページの最大数(デフォルト:100) |
--output | 出力ファイル名(デフォルト:mcp_results.json) |
--cookies | 認証スキャン用の Cookie 文字列 |
--headers | JSON 形式の追加ヘッダー |
出力
このツールは、以下を含む mcp_results.json ファイルを生成します。
- アプリケーション構造全体
- 特定された入力フィールドとその種類
- 検出された認証方式
- 複数ステップのワークフロー
- 潜在的なエッジケースと脆弱性
- ビジネスロジック分析の結果
テストのワークフロー
- 生成された
mcp_results.jsonファイルを確認し、アプリケーション構造を把握します - 有用性の高いテスト対象を探すため、「potential_edge_cases」セクションに注目します
- ビジュアルサイトマップを使って、アプリケーションの複雑な領域を特定します
- 生成されたテストケースを活用して、ビジネスロジックの脆弱性を見つけます
出力例
{
"application_map": {
"https://example.com/": {
"type": "page",
"links": ["https://example.com/login", "https://example.com/about"],
"forms": []
},
"https://example.com/login": {
"type": "authentication",
"links": [],
"forms": [
{
"action": "/process-login",
"method": "POST",
"inputs": [
{"name": "username", "type": "email"},
{"name": "password", "type": "password"}
]
}
]
}
},
"potential_edge_cases": [
{
"url": "https://example.com/user/profile",
"type": "IDOR",
"description": "User ID parameter may allow access to other profiles"
}
]
}
可視化
--visual フラグを使用すると、ツールは sitemap.dot ファイルを生成します。このファイルは Graphviz を使って画像に変換できます。
dot -Tpng sitemap.dot -o sitemap.png
高度な使用方法
カスタムヘッダーを使用したスキャン
python web_app_mcp.py https://example.com --headers '{"X-API-Key": "your-api-key"}'
レート制限付きスキャン
python web_app_mcp.py https://example.com --delay 2.0 --max-pages 50
特定の領域に絞ったスキャン
python web_app_mcp.py https://example.com/admin --max-depth 3
コントリビューション
コントリビューションを歓迎します。Pull Request はお気軽にご提出ください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。