mcpField
J
judge-pentest

judge-pentest

github.com/wgpsecセキュリティ1.8k46 回インストール4 日前に更新
リポジトリ

judge-pentest について

セキュリティテスターやエージェント向けのペネトレーションテスト評価チェックリストです。WebとAPIの攻撃対象範囲を確認し、発見済みの脆弱性だけで終了せず、次のテストを案内します。

主な機能

  1. 01WebとAPIの脆弱性チェックリスト
  2. 02網羅率に基づく完了判定
  3. 03次のテストに向けた具体的なフィードバック
  4. 04既知のCVE/CNVD検索要件

活用シーン

  1. 01各ペネトレーションテスト後の網羅状況確認
  2. 02未テストのエンドポイントと攻撃種別の特定
  3. 03追加テストが必要かの判断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill judge-pentest

インストール後、Claude Code で/judge-pentestを入力して読み込まれたか確認します。

詳細

ペネトレーションテスト評価チェックリスト

Web アプリケーションの脆弱性カバレッジ確認

以下の各攻撃対象について、テスト済みかどうかを確認してください。未テストの項目はギャップとして記録してください。

インジェクション
  • SQL インジェクション(ログインフォーム、検索、API パラメーター、Cookie)
  • XPath インジェクション
  • LDAP インジェクション
  • コマンドインジェクション(OS コマンドインジェクション)
  • SSTI(サーバーサイドテンプレートインジェクション)
  • XXE(XML 外部エンティティインジェクション)
クロスサイト
  • 反射型 XSS(検索ボックス、URL パラメーター、エラーページ)
  • 格納型 XSS(コメント、フィードバック、ユーザープロフィール)
  • DOM XSS
  • CSRF(送金、パスワード変更、重要な操作)
認証と認可
  • デフォルト/脆弱な認証情報
  • SQL インジェクションによる認証バイパス
  • ブルートフォース対策(アカウントロックアウトの仕組み)
  • ユーザー名の列挙(エラーメッセージの差異)
  • セッション管理(セッション固定、Cookie のセキュリティ属性)
  • JWT/トークンのセキュリティ(署名検証、アルゴリズムの混同、平文エンコード)
  • 垂直権限昇格(一般ユーザー → 管理者機能)
  • 水平権限昇格/IDOR(他のユーザーのリソースへのアクセス)
ビジネスロジック
  • IDOR — アカウント情報の閲覧
  • IDOR — 送金/取引操作
  • IDOR — パスワード変更
  • 負の金額/ゼロ金額の取引
  • 並行処理/競合状態
  • ビジネスフローのバイパス
情報漏えい
  • エラーページからの情報漏えい(スタックトレース、パス)
  • API ドキュメントの露出(Swagger、WSDL)
  • バックアップファイルの露出
  • 機密性の高い設定情報の露出
  • HTTP レスポンスヘッダー(Server のバージョン、X-Powered-By)
サーバーサイド
  • SSRF(サーバーサイドリクエストフォージェリ)
  • ファイルアップロードの脆弱性
  • パストラバーサル/LFI/RFI
  • デシリアライゼーションの脆弱性
設定
  • ディレクトリリスティング
API 固有
  • REST API の認証バイパス
  • API IDOR
  • API パラメーターの改ざん
  • API のレート制限
既知の CVE/CNVD
  • 対象製品/技術スタックに関する既知の CVE
  • 対象製品/技術スタックに関する既知の CNVD

評価の判定ロジック

ペネトレーションテストの目標は、できるだけ多くの脆弱性を発見することです。早まって終了してはいけません。

# In pentest scenarios, complete is advisory only and does NOT trigger early exit
# The judge's core value is providing precise "what to test next round" feedback

if tested_categories >= 90% of total && two consecutive rounds with no new vulns:
    complete = true, confidence >= 0.8
else:
    complete = false
    feedback = explicitly list untested attack surfaces with specific testing suggestions
    missing_areas = names of untested categories

重要:1つの方向を見落とすより、もう1ラウンド実施するほうが望ましいです。多くの脆弱性が見つかっていても、未テストの攻撃対象が残っている場合は、complete=false を返してください。

このラウンドで対象製品/技術スタックが特定されたにもかかわらず、search_vulndb が一度も呼び出されていない場合は、必ず complete=false を返し、既知の脆弱性を照会するために search_vulndb(query="product name") を使用するよう求めてください。

フィードバックテンプレート

complete=false の場合、フィードバックには以下を含めてください。

  1. 完了した作業(肯定的に評価し、繰り返しを避ける)
  2. 具体的な未実施のテスト項目(「テストを続けてください」のような曖昧な表現は避け、具体的なエンドポイントと脆弱性の種類を示す)
  3. 推奨するテスト手順(例:「/api/search のクエリパラメーターに対して sqlmap を使い、詳細なインジェクションテストを実施する」)

コメント