mcpField
W
wass-mcp

wass-mcp

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

wass-mcp について

WASS-MCP は、許可を得た Web アプリケーションのセキュリティテスト向け MCP サーバーです。複数のスキャナーを統合し、並列の一括スキャンと実行履歴の保存に対応します。

主な機能

  1. 01Nikto による Web サーバースキャン
  2. 02Nuclei テンプレートによる脆弱性検査
  3. 03Wapiti による Web アプリスキャン
  4. 04Shcheck によるセキュリティヘッダー分析
  5. 05並列スキャンと結果の統合
  6. 06スキャン実行履歴の永続保存

活用シーン

  1. 01許可を得た Web サーバーの脆弱性検査
  2. 02サイトの HTTP セキュリティヘッダー確認
  3. 03複数スキャナーを並列実行して統合レポートを確認
  4. 04過去のスキャン結果の参照や管理

MCP 対応

WASS-MCP は Streamable HTTP 経由で MCP クライアントにスキャンと履歴管理のツールを提供します。個別スキャナーのほか、並列実行する full_scan ツールも利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

WASS-MCP

Web アプリケーションのセキュリティスキャン用 Model Context Protocol(MCP)サーバーです。

機能

  • MCP プロトコルのサポート - MCP クライアント(Claude など)との完全な互換性
  • Nikto との統合 - Web サーバーの脆弱性スキャン
  • Nuclei との統合 - テンプレートベースの脆弱性スキャン
  • Wapiti との統合 - Web アプリケーションの脆弱性スキャン
  • Shcheck との統合 - セキュリティヘッダーの分析
  • 実行履歴 - スキャン結果の永続的な保存
  • ステートレス設計 - セッションエラーを起こさずにサーバーの再起動に対応
  • RESTful HTTP トランスポート - ストリーミング可能な HTTP ベースの MCP プロトコル

使用方法

docker run -p 127.0.0.1:8989:8989 tb0hdan/wass-mcp
MCP クライアントの設定

WASS-MCP サーバーを Claude MCP クライアントに追加するコマンドの例:

claude mcp add wass-mcp --transport http http://127.0.0.1:8989

または Gemini:

gemini mcp add wass-mcp --transport http http://127.0.0.1:8989

利用可能なツール

nikto

Nikto を使用して Web サーバーの脆弱性スキャンを実行します。

パラメーター:

名前型必須説明
hoststringはい対象のホスト名または IP アドレス
portintegerいいえ対象ポート(デフォルト:80)
vhoststringいいえ仮想ホストヘッダー
max_linesintegerいいえ出力行数の上限
offsetintegerいいえ出力行のオフセット

例:

{
  "host": "192.168.1.100",
  "port": 443
}
nuclei

Nuclei を使用してテンプレートベースの脆弱性スキャンを実行します。

パラメーター:

名前型必須説明
hoststringはい対象のホスト名または IP アドレス
portintegerいいえ対象ポート(デフォルト:80)
vhoststringいいえ仮想ホストヘッダー
max_linesintegerいいえ出力行数の上限
offsetintegerいいえ出力行のオフセット

検出される脆弱性:

  • コミュニティテンプレートによる CVE の検出
  • 設定ミス
  • 公開されたパネル/ダッシュボード
  • デフォルトの認証情報
  • テクノロジーの検出
  • セキュリティヘッダーの分析
  • 8000 件を超えるコミュニティテンプレートによるその他多数の検出

例:

{
  "host": "192.168.1.100",
  "port": 443
}
wapiti

Wapiti を使用して包括的な Web アプリケーションの脆弱性スキャンを実行します。

パラメーター:

名前型必須説明
hoststringはい対象のホスト名または IP アドレス
portintegerいいえ対象ポート(デフォルト:80)
vhoststringいいえ仮想ホストヘッダー
max_linesintegerいいえ出力行数の上限
offsetintegerいいえ出力行のオフセット

検出される脆弱性:

  • SQL インジェクション/ブラインド SQL インジェクション
  • クロスサイトスクリプティング(XSS)
  • ファイルインクルージョン/パストラバーサル
  • コマンド実行
  • CRLF インジェクション
  • サーバーサイドリクエストフォージェリ(SSRF)
  • オープンリダイレクト
  • HTTP セキュリティヘッダー
  • コンテンツセキュリティポリシーの問題

例:

{
  "host": "192.168.1.100",
  "port": 8080
}
shcheck_py

shcheck.py を使用して HTTP セキュリティヘッダーを分析します。

パラメーター:

名前型必須説明
hoststringはい対象のホスト名または IP アドレス
portintegerいいえ対象ポート(デフォルト:80)
vhoststringいいえ仮想ホストヘッダー
max_linesintegerいいえ出力行数の上限
offsetintegerいいえ出力行のオフセット

分析するヘッダー:

  • Content-Security-Policy
  • Strict-Transport-Security
  • X-Frame-Options
  • X-Content-Type-Options
  • Referrer-Policy
  • Permissions-Policy
  • その他のセキュリティ関連ヘッダー

例:

{
  "host": "example.com",
  "port": 443
}
full_scan

利用可能なすべてのスキャナーを並列で実行し、包括的なセキュリティスキャンを実施します。

パラメーター:

名前型必須説明
hoststringはい対象のホスト名または IP アドレス
portintegerいいえ対象ポート(デフォルト:80)
vhoststringいいえ仮想ホストヘッダー
max_linesintegerいいえ出力行の最大数
offsetintegerいいえ出力行のオフセット

機能:

  • nikto、nuclei、wapiti、shcheck の各スキャナーを並列で実行します
  • 結果を統合レポートにまとめます
  • 各スキャナーの所要時間とステータスを含めます
  • スキャナーバイナリが見つからない場合も適切に処理します

例:

{
  "host": "192.168.1.100",
  "port": 8080
}
history

ツールの実行履歴を表示および管理します。

パラメーター:

名前型必須説明
actionstringはい次のいずれか:list、get、delete、clear
idintegerget/delete の場合実行 ID
limitintegerいいえページあたりの結果数(デフォルト:10)
offsetintegerいいえページネーションのオフセット

アクション:

  • list - ページネーション付きで実行履歴を一覧表示します
  • get - 特定の実行の詳細をすべて取得します
  • delete - ID を指定して特定の実行を削除します
  • clear - すべての実行履歴を削除します

API エンドポイント

エンドポイント説明
POST /mcpMCP プロトコルのエンドポイント
GET /サービス情報(JSON)
GET /debug/pprof/*プロファイリング用エンドポイント

開発と高度な使用方法

ソースからのビルド要件
  • Go 1.25+
  • Nikto(apt install nikto または同等の方法)
  • Nuclei(go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest)
  • Wapiti(apt install wapiti または同等の方法)
  • Shcheck(pip install shcheck または GitHub から入手)
  • SQLite3
# Clone the repository
git clone https://github.com/tb0hdan/wass-mcp.git
cd wass-mcp

# Build
make build

# Run
./build/wass-mcp
サーバーの起動
# Default (localhost:8989)
./build/wass-mcp

# Custom bind address
./build/wass-mcp --bind 0.0.0.0:8080

# Custom database path
./build/wass-mcp --db /var/lib/wass-mcp/data.db

# Debug mode
./build/wass-mcp --debug
設定オプション
フラグデフォルト説明
--bindlocalhost:8989HTTP サーバーのバインドアドレス
--db./wass-mcp.dbSQLite データベースのファイルパス
--debugfalseデバッグログを有効にします
--version-バージョンを表示して終了します
リント
make lint
テスト
make test
プロジェクト構成
wass-mcp/
├── cmd/wass-mcp/        # Application entry point
├── pkg/
│   ├── server/          # MCP server wrapper
│   ├── storage/         # Database layer (SQLite/GORM)
│   ├── models/          # Data models
│   ├── tools/           # MCP tool implementations
│   │   ├── nikto/       # Nikto web server scanner
│   │   ├── wapiti/      # Wapiti web app scanner
│   │   ├── nuclei/      # Nuclei template scanner
│   │   ├── shcheck/     # Security headers checker
│   │   ├── fullscan/    # Parallel full scan
│   │   └── history/     # History management
│   └── types/           # Shared types and constants
├── docs/                # Documentation
└── build/               # Build output and coverage reports

セキュリティに関する注意

このツールは許可を得たセキュリティテストのみを目的としています。システムをスキャンする前に、適切な許可を得ていることを確認してください。許可のないスキャンは、地域によっては違法となる場合があります。

プロジェクトのメモ

プロジェクトのメモ、設計上の決定事項、アーキテクチャの概要については、プロジェクトのメモドキュメントを参照してください。

ライセンス

BSD 3-Clause License - Copyright (c) 2026, Bohdan Turkynevych。詳細についてはLICENSEを参照してください。

コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/new-tool)
  3. 変更をコミットします(git commit -am 'Add new scanning tool')
  4. ブランチにプッシュします(git push origin feature/new-tool)
  5. プルリクエストを作成します

謝辞

  • Model Context Protocol - プロトコル仕様
  • Nikto - Web サーバースキャナー
  • Nuclei - テンプレートベースの脆弱性スキャナー
  • Wapiti - Web アプリケーション脆弱性スキャナー
  • Shcheck - セキュリティヘッダーのチェッカー
  • GORM - Go ORM ライブラリ

コメント

MCP は初めてですか?

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

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