- PySide6(Qt)製のローカルデスクトップGUI脆弱性スキャナです。MBSD2025のコンテスト用に開発しました。
- スキャンモード: セーフ / 通常 / 攻撃(侵襲度を段階制御)
- パス列挙: 既知パスの辞書照合+同一オリジン内リンクのクロール
- 受動チェック例: セキュリティヘッダ不足、ディレクトリリスティング、情報漏えい、CORS/HSTS/Cookie属性、デバッグ残存 など
- 能動チェック例: HTTPS適用漏れ、CORS反射、パラメータ改ざん、テンプレートインジェクション兆候、SSRFの可能性、HTTPメソッド/XST など
- 攻撃モード例: CRLF/ヘッダインジェクション、OSコマンドインジェクション(時間差/エラー)、ディレクトリトラバーサル、ファイルアップロード など(オプトイン)
- XSS系: DOMシンク観測、DOM反射/格納型の簡易検知(自動フォーム投入)
- 認証支援: 簡易ログイン試行、AIへ認証情報を共有(任意)
- ベースライン比較: JSONを取り込み、新規/未解決/修正済みをUI表示
- レポート出力: Markdown/HTML/PDF/DOCX(AIEL)/JSON
|
|
|
|
|
|
前提:
- Python 3.10+
- Ollama(デフォルト: http://localhost:11434)。モデル例:
llama3.1:latest
手順:
- 仮想環境を推奨(例:
python -m venv .venv && source .venv/bin/activate) - 依存インストール:
pip install -e .(開発向け:pip install -e .[dev]) - モデル準備(例):
ollama pull llama3.1 - 実行:
- GUIを起動:
mbsd-toolまたはpython -m mbsd_tool
- GUIを起動:
- Linux + X11 共有例:
docker compose up --build- X11許可:
xhost +local:(終了後はxhost -local:で戻す) - ホストのXサーバにウィンドウが表示されます
注意: macOS/WindowsでX11表示にはXQuartz(macOS)やXサーバ(Windows)が必要です。将来的にnoVNC経由のブラウザ表示も提供予定です。
- ターゲットURLを入力(例:
http://localhost/) - モードを選択(セーフ/通常/攻撃)
- 「パス列挙」→ 表示されたエンドポイントを確認し「エンドポイントをスキャン」
- 右側のエージェントブラウザでAI操作やDOM観測結果を確認
- 結果/レポートタブからエクスポート(Markdown/HTML/PDF/DOCX/JSON)
ベースライン比較(差分トラッキング)
- スキャン後に「比較用ファイル保存(JSON)」でベースラインを保存
- 次回スキャン時に「前回ファイル読込」で読み込むと、詳細表に「状態(新規/未解決)」を表示。別ダイアログで「修正済み」を確認
- 既存のScanResult(JSON)も自動変換して比較可能
環境変数・設定
OLLAMA_URL(既定:http://localhost:11434)OLLAMA_MODEL(既定:llama3.1:latest)
CLI
- エントリポイント:
mbsd-tool - モジュールから:
python -m mbsd_tool
- 本ツールは、利用者が権限を有するシステムに対してのみ使用してください。
- 攻撃モードは侵襲的な検査を含みます。業務・法令・契約・社内規程に従い、関係者の合意を得た上で実施してください。
- 実運用環境での試験は推奨しません。検証環境での利用をご検討ください。
mbsd_tool/gui/— Qt GUI(タブ、Webパネル、テーマ)core/— 列挙/スキャナ/AIエージェント/レポート/モデルconfig/— 設定(OllamaのURL/モデル)resources/— アイコン/QSS等
docker/— Dockerfileや補助スクリプト
- MIT LICENCE





