active-pentest について
active-pentestは、セキュリティテストの専門スキル向けの実行手順で、許可を得たラボ、ステージング、ローカルアプリのテストを対象とします。ツール利用と再現可能な証拠の記録を整え、破壊的テストや本番環境へのテストを明確に制限します。
主な機能
- 01認可と対象範囲の確認
- 02非破壊テストの指針
- 03偵察から検証までの手順
- 04テスト目的に応じたツール選択
- 05PoC証拠の一貫した記録
活用シーン
- 01許可されたステージングアプリのテスト
- 02最小リクエストによる脆弱性の検証
- 03再現可能なリクエストと応答の記録
- 04確認済みの問題をsecurity-hardeningへ引き継ぐ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mn-youssef/ security-skills --skill active-pentestインストール後、Claude Code で/active-pentestを入力して読み込まれたか確認します。
同梱ファイルreferences/tool-playbook.md
詳細
アクティブペンテスト(EXPLOIT ハーネス)
概要
これは、FIND/EXPLOIT の専門スキルで共有する実行ハーネスです。何をテストするかは、access-control-testing、authentication-testing、business-logic-testing、api-security-testing(および Tier-2 クラスのインジェクション/クライアントサイド/ファイルアップロードなど)が決めます。このスキルは、稼働中のアプリに対してテストを安全に実行する方法です。ラボ/プロキシ/スキャナーを設定し、ツールを操作して、一貫した形式で証拠を記録します。
基本原則: 再現できるまでは、発見事項は確かなものではありません。PoC があれば議論に決着がつきます。攻撃手順は専門スキルが担当し、安全な実行と証拠の記録はこのスキルが担当します。
⚠️ 認可ゲート — すべてに該当しない場合は中止してください
すべてに該当しない限り、先へ進まないでください。
- 対象を所有している、またはテストするための書面による許可を得ている。
- 対象はラボ/ステージング/ローカルのインスタンスであり、第三者の本番環境ではない。
- 破壊的な手法や DoS 手法を実行せず、実際のユーザーデータにも触れない。
チェックが外れている項目が1つでもある場合は中止し、自分が管理するコードに対する security-code-audit にとどめてください。
スコープを厳守する(デフォルトでは非破壊)
- 許可される行為: 読み取り専用の調査、フィンガープリントの取得、単一リクエストの PoC、自分のテストデータの読み取り、自分で作成した2つのテストアカウントを使った IDOR の実証。
- 避ける行為: 負荷テスト/ストレステスト/DoS、大規模なスキャン、実データの書き込みや削除を行う自動エクスプロイト、監視の回避だけを目的とする手法。スキャナーの実行速度を抑え、テストアカウントを使用してください。
ワークフロー(調査 → マッピング → 検証 → 実証)
- 調査/フィンガープリントの取得 — 何が公開されているか、どのような技術スタックか、どのバージョンかを確認します。
- マッピング — エンドポイント、パラメーター、認証フローを列挙します(脅威モデルに沿って確認します)。
- 検証 — 該当する専門スキルから攻撃手順を選び、バグを実証できる最小限のリクエストで実行します。(このスキル=ツール、専門スキル=ペイロードです。)
- 実証 — PoC として正確なリクエスト/レスポンスを記録し、影響を記載します。
各ツールの操作方法については references/tool-playbook.md を参照してください。何を送信するかについては、専門スキル(例:IDOR の手順 → access-control-testing、ATO のフロー → authentication-testing)を参照してください。
クイックリファレンス — 目的別のツール
| 目的 | ツール |
|---|---|
| ポート/サービス/バージョン | nmap -sV |
| TLS 設定 | testssl.sh、sslscan |
| Web サーバーの簡易的な問題検出 | nikto |
| コンテンツ/エンドポイントの検出 | ffuf、gobuster、feroxbuster |
| 手動でのリクエスト作成 | curl、httpie、Burp Repeater |
| インターセプト/クロール/スキャン | OWASP ZAP、Burp Suite |
| SQLi の確認 | sqlmap(自分のアプリで、--batch を指定し、スコープを限定して実行) |
| モバイル通信 | Burp/ZAP プロキシ+デバイス、Frida(ピンニング)、objection |
| コード/バイナリ内のシークレット | trufflehog、gitleaks、apktool+jadx |
出力:検証済みの発見事項
確認した項目ごとに、次を記載します。
- Finding ID(監査台帳へのリンク)
- 再現手順: 正確なコマンド/リクエスト
- 証拠: 影響を示すレスポンスの抜粋(実データはマスキング)
- 確認済みの重大度と影響
- → 修正と再テストのために
security-hardeningに引き継ぎます。
よくある間違い
- 「ちょっと確認するだけ」と本番環境や第三者の資産をテストする — それは越えてはならない一線です。
sqlmap/スキャナーを全速力で実行し、自分のステージング環境を停止させる。- 理論だけでエクスプロイト可能と判断する — 再現してください。
- ノイズの多い PoC を残す — リクエストは最小限に、影響範囲も最小限にしてください。