mcpField
Q
qe-pentest-validation

qe-pentest-validation

github.com/proffesor-for-testingセキュリティ51986 回インストール今日更新
リポジトリ

qe-pentest-validation について

スキャナーの検出結果を、許可確認、スキャン、分析、段階的なエクスプロイト、報告の流れで検証するセキュリティテストスキルです。PoCの証拠がある検出結果に絞って報告し、新しい手法をエクスプロイトプレイブックに記録します。

主な機能

  1. 01許可と非本番環境の確認
  2. 024段階のセキュリティ検証
  3. 03脆弱性種別ごとの並列テスト
  4. 04予算上限付きの段階的な検証
  5. 05証拠に基づく検出結果の報告
  6. 06エクスプロイト手法の更新

活用シーン

  1. 01プルリクエストのソースコード検出結果の検証
  2. 02リリース前のステージング環境での悪用可能性確認
  3. 03コンプライアンス監査向けの検証証拠収集

インストール

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

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill qe-pentest-validation

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

詳細

ペネトレーションテストの検証

<default_to_action> セキュリティ上の指摘事項を検証する場合:

  1. 対象 URL について明示的な許可を必須とします
  2. qe-security-scanner でスキャンします(SAST + 依存関係 + シークレット)
  3. qe-security-reviewer + qe-security-auditor で分析します(並列)
  4. qe-pentest-validator で検証します(段階的なエクスプロイト、脆弱性の種類ごとに並列)
  5. PoC の証拠がある確認済みの指摘事項のみ報告します(「エクスプロイトがなければ、報告しない」)
  6. 新しいパターンでエクスプロイトプレイブックを更新します

品質ゲート:

  • いかなるエクスプロイトを行う前にも、許可を確認します
  • 対象 URL はステージング/開発環境とします(本番環境は不可)
  • 予算上限を適用します(デフォルトは $15)
  • 時間上限を適用します(デフォルトは 30 分)
  • すべてのエクスプロイト試行を記録します </default_to_action>

クイックリファレンスカード

4 フェーズのパイプライン
フェーズエージェント目的並列処理
1. 偵察qe-security-scannerSAST、DAST、依存関係のスキャン、シークレット内部で並列
2. 分析qe-security-reviewer + qe-security-auditorコードレビュー + コンプライアンスチェック両方を並列実行
3. 検証qe-pentest-validator段階的なエクスプロイト検証脆弱性の種類ごとに並列
4. 報告qe-quality-gate「エクスプロイトがなければ、報告しない」フィルター順次
段階的なエクスプロイトのティア
ティアハンドラーコストレイテンシ使用する状況
1Agent Booster(WASM)$0<1msコードパターンから脆弱性が明らかな場合(eval、innerHTML、ハードコードされた認証情報)
2Haiku$0.0002~500msライブターゲットに対するペイロードのテストが必要な場合
3Sonnet/Opus$0.003-$0.0152-5sデータによる証明を伴う完全なエクスプロイトチェーンが必要な場合
このスキルを使用する状況
シナリオティア推定コスト
PR のセキュリティレビュー(ソースのみ)1$0
リリース前の検証(ステージング)1-2$1-5
完全なペネトレーションテストの検証1-3$5-15
コンプライアンス監査の証拠1-3$5-15

設定

pentest:
  target_url: https://staging.app.com    # REQUIRED for Tier 2-3
  source_repo: ./src                      # REQUIRED for Tier 1+
  exploitation_tier: 2                    # 1=pattern-only, 2=payload-test, 3=full-exploit
  vuln_types:                             # Which pipelines to run
    - injection                           # SQL, NoSQL, command injection
    - xss                                 # Reflected, stored, DOM XSS
    - auth                                # Auth bypass, session, JWT
    - ssrf                                # URL scheme abuse, metadata
  max_cost_usd: 15                        # Budget cap per run
  timeout_minutes: 30                     # Time cap per run
  require_authorization: true             # MUST confirm target ownership
  no_production: true                     # Block production URLs
  production_patterns:                    # URL patterns to block
    - "*.prod.*"
    - "api.*"
    - "www.*"

セーフガード(必須)

許可ゲート

すべてのペネトレーションテスト検証の実行では、必ず次のことを行います。

  1. 対象 URL とエクスプロイトのティアをユーザーに表示します
  2. 明示的な確認を求めます:「この対象の所有者である/この対象のテストを許可されている」
  3. タイムスタンプ付きで許可を記録します
  4. 対象 URL が本番環境のパターンに一致する場合はブロックします
このスキルで行わないこと
  • 完全自律型の偵察(Nmap、Subfinder)
  • ゼロデイエクスプロイトの開発
  • 明示的な許可なしでの対象への攻撃
  • 本番システムのテスト
  • 実際に流出したデータの保存(アクセスの証明のみ)
  • ソーシャルエンジニアリングやフィッシングのシミュレーション
  • ポートスキャンやサービス検出

検証パイプライン

インジェクションのパイプライン
攻撃ティア 1(パターン)ティア 2(ペイロード)ティア 3(完全)
SQL インジェクションクエリ内の文字列連結' OR '1'='1 の応答差分UNION SELECT によるデータ抽出
NoSQL インジェクションクエリ内の $where、$gt演算子インジェクションのテストコレクションの列挙
コマンドインジェクションexec()、system() の呼び出しコマンド区切り文字のテストリバースシェルの証明
LDAP インジェクションフィルター内の文字列連結ワイルドカードインジェクションディレクトリの列挙
XSS のパイプライン
攻撃ティア 1(パターン)ティア 2(ペイロード)ティア 3(完全)
反射型 XSS出力エンコーディングなし<img onerror> の反射Playwright によるブラウザー上での JavaScript 実行
格納型 XSSinnerHTML の代入ペイロードの保存と取得Cookie 窃取の PoC
DOM XSSdocument.write(location)フラグメントインジェクションDOM 操作の証明
認証パイプライン
攻撃Tier 1(パターン)Tier 2(ペイロード)Tier 3(完全)
JWT noneアルゴリズムの検証なし改変した JWT が受け入れられる偽造トークンによる管理者アクセス
セッション固定セッションのローテーションなし事前設定されたセッションが再利用される別ユーザーのセッション乗っ取り
クレデンシャルスタッフィングレート制限なし100 回の試行がブロックされない有効な認証情報の特定
IDOR認可チェックなし他のユーザーのデータにアクセス他者のリソースに対する完全な CRUD
SSRF パイプライン
攻撃Tier 1(パターン)Tier 2(ペイロード)Tier 3(完全)
内部 URLユーザー制御の URL を取得http://169.254.169.254クラウドメタデータの抽出
DNS リバインディングURL 検証の回避内部 IP に再バインド内部サービスへのアクセス
プロトコルスマグリングURL スキームが制限されていないfile:///etc/passwdレスポンス内のファイル内容

エージェントの連携

オーケストレーションパターン
// Phase 1: Recon (parallel scans)
await Task("Security Scan", {
  target: "./src",
  layers: { sast: true, dast: true, dependencies: true, secrets: true }
}, "qe-security-scanner");

// Phase 2: Analysis (parallel review)
await Promise.all([
  Task("Code Security Review", {
    findings: phase1Results,
    depth: "comprehensive"
  }, "qe-security-reviewer"),

  Task("Compliance Audit", {
    findings: phase1Results,
    frameworks: ["owasp-top-10"]
  }, "qe-security-auditor")
]);

// Phase 3: Validation (graduated exploitation)
await Task("Exploit Validation", {
  findings: [...phase1Results, ...phase2Results],
  target_url: "https://staging.app.com",
  exploitation_tier: 2,
  vuln_types: ["injection", "xss", "auth", "ssrf"],
  max_cost_usd: 15,
  timeout_minutes: 30
}, "qe-pentest-validator");

// Phase 4: Report ("No Exploit, No Report" gate)
await Task("Security Quality Gate", {
  findings: phase3Results.confirmedFindings,
  gate: "no-exploit-no-report",
  require_poc: true
}, "qe-quality-gate");
検出結果の分類
ステータス意味アクション
confirmed-exploitablePoC による悪用に成功証拠を添えて報告
likely-exploitable部分的な悪用に成功し、防御機構を検出留保事項を添えて報告
not-exploitableすべての悪用試行に失敗レポートから除外
inconclusiveWAF/防御機構にブロックされ、脆弱性の有無が不明手動レビュー用に報告

エクスプロイトプレイブックのメモリ

名前空間の構造
aqe/pentest/
 playbook/
  exploit/{vuln_type}/{tech_stack}/{technique}
  bypass/{defense_type}/{technique}
  payload/{vuln_type}/{variant}
 results/
  validation-{timestamp}
 poc/
  {finding_id}-poc
学習ループ
  1. 検証前:検出結果に一致する既知のパターンをプレイブックで検索します
  2. 検証中:まず既知のペイロードを試します(成功率が高いため)
  3. 検証後:新たに成功したパターンを信頼度スコアとともに保存します
  4. 時間の経過とともに:エージェントは技術スタックごとに最も効果的なペイロードへと収束します

コストの最適化

シナリオ別の推定コスト
シナリオTier の構成検出結果推定コスト推定時間
PR チェック(ソースのみ)Tier 1 が 100%5$0<5s
スプリント検証Tier 1 が 70%、Tier 2 が 30%15$2-55-10 min
リリース検証Tier 1 が 40%、Tier 2 が 40%、Tier 3 が 20%25$8-1515-30 min
完全なペネトレーションテストTier 1 が 20%、Tier 2 が 30%、Tier 3 が 50%40$15-3030-60 min
Shannon とのコスト比較
指標ShannonAQE ペネトレーションテスト検証
1 回あたりのコスト~$50$5-15(段階的な Tier)
実行時間60-90 min15-30 min(並列パイプライン)
誤検知率低(エクスプロイトで実証)低(同じ原則)
学習なし(静的プロンプト)ReasoningBank プレイブック

成功指標

指標目標測定方法
誤検知の削減検出結果の >60% を排除バリデーターの実行前後を比較
エクスプロイト確認率確認済みの検出結果の >80% が実際に悪用可能手動で PoC を検証
1 回あたりのコスト<$15 USDパイプラインごとのトークンを追跡
1 回あたりの時間<30 分実行時間のメトリクス
プレイブックの拡充6 か月後に 100 以上のパターンメモリ名前空間の数

関連スキル


覚えておくこと

「エクスプロイトできなければ、報告しない。」 エクスプロイトを実証できない脆弱性スキャナーの価値は不確かです。このスキルは、理論上のリスクをセキュリティ上の発見から、証拠を伴う実証済みの脆弱性へと変えます。確認された発見にはすべて、再現可能な概念実証が付属します。誤検知はすべて、報告書に載る前に排除されます。

予測ではなく、実証を考えましょう。 脆弱性があるかもしれないものを報告してはいけません。実際に脆弱性があることを実証してください。

コメント