Hello there, ('ω')ノ
全体マップ(まずは俯瞰)
最初に、全体の流れを図にしたつもりで文章化します。
① Recon結果を得る
↓
② 情報が多すぎて人間が疲れる
↓(ここでLLM)
③ 攻撃対象候補に圧縮
↓
④ 各対象に「仮説」を立てる
↓(ここでLLM)
⑤ 試すべき攻撃パターンが決まる
↓
⑥ 実際にリクエスト・挙動確認
↓
⑦ 違和感・エラーが出る
↓(ここでLLM)
⑧ 意味を解釈 → 次の一手が決まる
↓
⑨ 脆弱性確信
↓(ここでLLM)
⑩ PoC整形・レポート完成
重要なのは LLMは「節目」でしか使っていないという点です。
フェーズ① Recon直後:絶対に最初にLLMを入れる場所
人間の状態
- サブドメイン数百〜数千
- URL、ポート、技術スタックが並ぶ
- 正直、もう疲れている
👉 この状態で次を決めると、勘が鈍る
ここで投げるプロンプト
【タイミング①:Recon結果を“見た直後”】
From these recon results, identify high-value targets. Explain why each one is interesting from a bug bounty perspective.
なぜこのタイミングか
- Recon結果は「生データ」
- 人間が全部読むのは非効率
- まず「攻撃する価値がある候補」に変換する
👉 役割分担
- 人間:ツールを回す
- LLM:意味を付ける
フェーズ② 攻撃対象を見た瞬間:仮説を作る
人間の状態
- 「このサブドメイン、何だろう?」
- でも、何から試すか迷う
👉 ここで総当たりを始める人が多い
ここで投げるプロンプト
【タイミング②:対象を“触る前”】【仮説フェーズ】
Given this endpoint or subdomain, what types of vulnerabilities are commonly found here? What should I test first and why?
なぜこのタイミングか
- 攻撃前に「狙い」を固定する
- 無意味な試行を減らす
- 自分の発想の漏れを補完
👉 LLMは「作戦会議相手」
フェーズ③ JavaScript・仕様を見つけた瞬間
人間の状態
- JSが長い
- 何をしているか分かりづらい
- 読むのがしんどい
👉 ここで読むのを諦める人が多い
ここで投げるプロンプト
【タイミング③:JSを開いた“最初の瞬間”】【解析フェーズ】
Explain this JavaScript from a security perspective. Identify sources, sinks, and anything that looks risky.
なぜこのタイミングか
- 全部理解しなくていい
- 危険そうな部分だけ分かれば十分
- DOM XSS / 認可ミスの種を拾う
👉 人間は「読む」→ LLMは「嗅ぐ」
フェーズ④ パラメータを見た瞬間
人間の状態
- URLにパラメータが並んでいる
- 「とりあえず値変えてみるか…」
👉 思考が雑になりがち
ここで投げるプロンプト
【タイミング④:パラメータを認識した直後】
For each parameter in this request, what vulnerabilities should I consider testing? Think like an attacker.
なぜこのタイミングか
- パラメータは攻撃者のハンドル
- 見た瞬間に「危険な方向」を決める
👉 試す前に考える癖がつく
フェーズ⑤ 挙動がおかしいと感じた瞬間
人間の状態
- エラーが出た
- ステータスコードが変
- でも「何が分かったのか」言語化できない
👉 ここが上級者と初心者の分かれ目
ここで投げるプロンプト
【タイミング⑤:違和感を感じた“その瞬間”】【解釈フェーズ】
I got this response. What does this behavior suggest? What should I try next?
なぜこのタイミングか
- エラーはヒントの塊
- 解釈できないと宝を捨てる
👉 LLMは「通訳」
フェーズ⑥ 脆弱性を確信した直後
人間の状態
- 「これ、いけてる気がする」
- でもPoCや文章が雑
👉 この段階で失敗すると報酬が下がる
ここで投げるプロンプト
【タイミング⑥:確信を持った直後】【仕上げフェーズ】
Generate a clear PoC and rewrite this report so that impact and risk are obvious to non-technical readers.
なぜこのタイミングか
- 技術より伝え方
- レポートは評価対象
👉 最後はAIで“磨く”
このワークフローの本質
重要なのは、
LLMを「常時使う」のではなく
「思考が切り替わる瞬間」に使う
という点です。
- 情報が多すぎるとき
- 判断に迷うとき
- 違和感を言語化できないとき
その“人間が弱くなる瞬間”を補う。
まとめ(ここだけ覚えてほしい)
LLM活用の正解はこれです。
Recon → 圧縮
対象 → 仮説
挙動 → 解釈
発見 → 文章化
この流れを身体に入れると、 再現性のあるハッカー思考が完成します。
Best regards, (^^ゞ