Shikata Ga Nai

Private? There is no such things.

プロンプト投入タイミング完全図解ワークフロー

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, (^^ゞ