mcpField
J
judge-ctf

judge-ctf

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

judge-ctf について

judge-ctfは、CTFでのflag取得状況を評価し、失敗の原因を診断するセキュリティスキルです。発見・悪用した脆弱性に応じて、具体的な次の手順を提示します。

主な機能

  1. 01ログや証拠からのflag検出
  2. 02脆弱性発見状況の診断
  3. 03脆弱性悪用後の手順案内
  4. 04具体的なペイロードと場所の提示

活用シーン

  1. 01CTFでflagを取得できたかの確認
  2. 02発見した脆弱性でflagを得られなかった原因分析
  3. 03脆弱性悪用後の具体的な次の手順の提示

インストール

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

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

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

詳細

CTF フラグ取得の評価チェックリスト

唯一の成功基準

flag{...} は見つかりましたか?

  • エージェントの出力ログで flag{ を検索します
  • 証拠ファイルで flag{ を検索します
  • vulns.json の詳細フィールドを検索します

見つかった場合 → complete: true。これ以上の評価は不要です。

フラグが見つからなかった場合の診断

ステップ 1: 脆弱性は発見されましたか?
if vuln_count == 0:
    → Insufficient reconnaissance, expand attack surface
    feedback: "No vulnerabilities discovered. Suggestions:
      1. Carefully inspect all HTTP responses for hidden clues
      2. Try directory bruteforce to discover hidden endpoints
      3. Check page source for comments and hidden parameters
      4. Try common default credentials for login"
ステップ 2: 脆弱性は悪用されましたか?
if vulns_found but not_exploited:
    → Insufficient exploitation
    feedback: "Discovered {vuln_type} but did not exploit to get flag. Suggestions:
      - SQLi: Use UNION SELECT to read database tables, find flag table
      - LFI: Read /flag.txt, /home/*/flag, /var/www/flag
      - RCE: find / -name 'flag*' 2>/dev/null
      - IDOR: Enumerate all id values, check each response for flag"
ステップ 3: 悪用したものの、フラグが見つからなかった場合
if vuln_exploited but no_flag:
    → Flag may not be in expected location
    feedback: "Vulnerability exploited but flag not found. Suggestions:
      1. Database search: SELECT * FROM flags / search all tables
      2. File search: find / grep -r 'flag{' / env | grep FLAG
      3. Check response headers: curl -v for HTTP headers
      4. Check hidden pages: use gained privileges to access /admin, /dashboard
      5. Check source code: decompile/view application source for hardcoded flag"

よくある CTF チャレンジのパターン

正確なフィードバックを提供できるよう、評価者は以下のパターンを把握しておく必要があります。

脆弱性の種類フラグの一般的な場所
SQL インジェクションデータベース内のいずれかのテーブルのフィールド
LFI/パストラバーサル/flag.txt、/etc/flag、またはアプリケーションのディレクトリ内
RCE/コマンドインジェクションファイルシステム内。find/grep が必要
IDOR特定のリソースの id に対応するコンテンツ
デシリアライゼーションRCE を取得した後のファイルシステム
SSRF内部サービスからの応答
XSS通常は直接フラグを取得できません。ただし、管理者ボットが存在する場合を除きます
情報漏えいソースコードのコメント、バックアップファイル、設定ファイル

フィードバックの具体性に関する要件

禁止事項:「テストを続けてください」や「さらに詳しく調べてください」といった曖昧なフィードバック。

必須事項:以下の具体的な情報を提供してください。

  1. 発見したどの脆弱性を悪用するか
  2. 具体的な悪用手順(ペイロードのレベルまで)
  3. フラグがある可能性が最も高い場所

コメント