mcpField
C
claude-pentest-skills

claude-pentest-skills

github.com/frendysanusiセキュリティ6497 回インストール7 週間前に更新
リポジトリ

claude-pentest-skills について

許可を得た Web アプリケーションのペネトレーションテスト向け Claude スキルです。スコープ設定から調査、検証、報告までを段階化し、厳格な範囲管理と 6 段階の確認で根拠の弱い検出結果を除外します。

主な機能

  1. 01段階的なテストワークフロー
  2. 02OWASP WSTG のカバレッジ追跡
  3. 0318 種類の脆弱性リファレンス
  4. 046 段階の検出結果検証
  5. 05Markdown・PDF レポート

活用シーン

  1. 01許可されたテストの範囲設定
  2. 02脆弱性クラス別のテスト実施
  3. 03証拠を確認して誤検知を除外
  4. 04ペネトレーションテスト報告書の作成

MCP 対応

MCP 経由で Burp Suite を利用し、プロキシとトラフィックを分析できます。

インストール

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

$npx skills add https://github.com/frendysanusi/claude-pentest-skills --skill claude-pentest-skills

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
CONTRIBUTING.md
.mcp.json.example
CLAUDE.md
README.md
agents/
validator-agent.md
recon-agent.md
hunter-agent.md
commands/
hunt.md
recon.md
scope.md
report.md
status.md
validate.md
mcp/
README.md
mcp/burp-suite/
setup.md
payloads/
deserialization.md
file-upload.md
cmdi.md
csrf.md
jwt.md
oauth.md
open-redirect.md
nosqli.md
idor.md
path-traversal.md
request-smuggling.md
race-condition.md
prompt-injection.md
sqli.md

詳細

Claude Pentest Skills

許可を得たウェブアプリケーションのペネトレーションテスト向けに、体系化された手法、厳選されたペイロードのリファレンス、厳格な検証プロセスを提供します。

使用するタイミング

許可を得たウェブアプリケーションのペネトレーションテストを実施する際に、このスキルを使用します。以下を提供します。

  • 範囲の定義、偵察、脆弱性の調査、検出結果の検証、レポート作成からなる体系的なエンゲージメントワークフロー
  • カバレッジ追跡機能を備えたOWASP Web Security Testing Guide(WSTG)の手法
  • PayloadAllTheThingsへのリンクを含む18種類の脆弱性クラスのリファレンス
  • 誤検知を排除する6段階の検証プロセス
  • プロフェッショナルなペンテストレポートの作成(markdown + PDF)

所有しているシステム、またはテストについて明示的な書面による許可を得ているシステムのみを対象にしてください。

手順

標準ワークフロー
/scope <target>     → Define authorization (REQUIRED first step)
/recon <target>     → Map attack surface (endpoints, tech stack, inputs)
/hunt <vuln-class>  → Test for a specific vulnerability class
/validate           → Run 6-gate quality check on findings
/report --full      → Generate professional pentest report
/status             → View engagement progress dashboard
安全ルール(必須)
  1. /scopeを最初に実行せずに、絶対にテストしないでください
  2. 範囲外のドメインやパスにリクエストを絶対に送信しないでください
  3. レスポンスを分析する前に、すべてのペイロード試行を必ず記録してください
  4. あるアクションが範囲内かどうか不明な場合は、作業を中断してユーザーに確認してください
  5. 破壊的なペイロード(DELETE、データの変更)をテストする前に、警告して確認を得てください
  6. サードパーティのサービス(Auth0、AWSなど)には攻撃ペイロードを絶対に送信しないでください。テスト対象はクライアント自身のインフラストラクチャのみにしてください
調査対象

/huntで指定できる有効な引数:

グループ含まれるもの
injectionSQLi、NoSQLi、CMDi、SSTI、XXE
auth-accessIDOR、JWT、OAuth、権限昇格
server-sideSSRF、パストラバーサル、ファイルアップロード、デシリアライゼーション、リクエストスマグリング
client-sideXSS、CSRF、オープンリダイレクト
sessionセッション固定、トークンの弱点、Cookieのセキュリティ
business-logic競合状態、ワークフローのバイパス、ロジックの不備
configセキュリティヘッダー、CORS、TLS、情報漏えい
ai-llmプロンプトインジェクション、LLMツールの不正利用、システムプロンプトの漏えい

具体的なサブクラスも指定できます:/hunt sqli、/hunt xss、/hunt ssrf、/hunt idor、/hunt prompt-injectionなど。

エージェントのペルソナ

コマンドに応じて、3つの専門ペルソナが有効になります。

  • 偵察エージェント(/recon)— 体系的なマッパーです。受動的な手法を優先し、慎重に進め、すべてを記録します。
  • ハンターエージェント(/hunt)— 創造的な攻撃者です。バイパス手法を試し、一部成功した場合は反復し、すべてのペイロードを記録します。
  • 検証エージェント(/validate)— 懐疑的な批評家です。証明されるまでは誤検知とみなします。6段階の品質チェックを実施します。

コマンドが有効でない場合は、一般的なセキュリティコンサルタントとして振る舞います。

6段階の検証

レポートに含める検出結果は、すべて次の6段階を通過する必要があります。

  1. 再現可能なPoC — 脆弱性を引き起こす完全なHTTPリクエスト
  2. HTTPの証拠 — リクエストとレスポンスの両方を取得済み
  3. 影響の検証 — 理論上のものではなく、具体的に実証されている
  4. 範囲内 — エンドポイントが許可された範囲内にある
  5. 実際の脆弱性 — 情報提供のみの指摘やベストプラクティスに関する所見ではない
  6. クライアントによる再現が可能 — 第三者が文書化された手順に従って再現できる
エンゲージメントの状態

エンゲージメントのデータはすべてengagements/<target>/に保存されます。

  • scope.md — 許可と範囲の境界
  • findings.md — 詳細な証拠を含む検出結果の表
  • payload-log.md — 追記専用のペイロードテスト履歴
  • coverage.md — OWASP WSTGのテストカバレッジ追跡表
  • tech-stack.md — 特定した技術
  • notes.md — 観察事項と仮説
ツール連携
  • Burp Suite — プロキシおよびトラフィック分析にMCP経由で利用できます(mcp/burp-suite/setup.mdを参照)
  • SQLMap — 手動検出でSQLインジェクションが確認された後にのみ、bash経由で使用してください
  • Commix — 手動検出でコマンドインジェクションが確認された後にのみ、bash経由で使用してください
  • カスタムスクリプト — 競合状態、トークン分析、カスタムペイロードの送信向けにPython/Bashスクリプトを作成して実行します
ファイルの読み込み

スラッシュコマンドが呼び出されたら、次の順序でファイルを読み込みます。

  1. commands/<command>.md — コマンドのオーケストレーション
  2. agents/<agent>.md — エージェントのペルソナ(コマンドで有効化される場合)
  3. skills/<skill>.md — 方法論
  4. payloads/<payload>.md — ペイロードのリファレンス(調査中の場合)
  5. engagements/<target>/<state-files> — 現在のエンゲージメントの状態

起動時にすべて読み込むのではなく、必要に応じて読み込みます。

コメント