コマ3-5 / 評価・レビュー・改良
標的を変えながら
失敗をレビューして改良する
標的環境を変えながら失敗したところをレビューし、改良していく。 成功した場合は時間やトークン数が節約できるかどうかを検討する。
目的は「1台だけ攻略できるエージェント」ではなく、初見の標的でも同じ考え方で前進できるエージェントに近づけること。 コマ3〜5では、個別の進行を分けず、ひたすらテストと改良を繰り返す。
00この3コマの進め方
コマ3-5は、同じサイクルを標的を変えながら繰り返す時間。 コマごとに別の目的を置くのではなく、テストして、失敗を見て、直して、またテストする。 実行 → 記録 → 分類 → 改修 → 再実行の順で進める。
標的を選ぶ
前回と違う難易度・タグ・サービス構成の標的を選ぶ。
実行する
同じ条件でエージェントを走らせ、ログと成果物を残す。
分類する
どこで止まったかを、偵察・侵入・昇格・検証・予算のどれかに分類する。
改良する
プロンプト、ツール、状態、評価条件のどこを直すか決める。
測り直す
成功率、時間、LLM要求数、トークン数を変更前後で比較する。
01失敗レビュー
失敗は「うまくいかなかった」で終わらせない。 どの層で失敗したかを決めると、直す場所が見える。
| 分類 | 見るログ | 主な改良先 |
|---|---|---|
| 偵察漏れ | ポートスキャン、HTTP探索、サービス特定のログ | 偵察ツール、打ち切り条件、サービス一覧の状態 |
| 脆弱性特定ミス | Finding の根拠、検索結果、バナー解釈 | プロンプト、Finding のスキーマ、証拠の残し方 |
| 侵入失敗 | PoC 実行ログ、エラー本文、承認ゲートの記録 | ツール引数、エラー解釈、別ベクタへの切り替え |
| 権限昇格失敗 | Foothold、内部偵察、sudo -l、SUID、cron | Foothold の型、昇格ツール、内部状態 |
| 同じ試行の反復 | tried、ツール呼び出し履歴、進捗差分 | ループ検知、予算配分、禁止リスト |
| 成功判定の誤り | 最終出力、証拠ファイル、id などの確認ログ | 出力バリデータ、証拠要求、評価スクリプト |
02成功した場合に見ること
成功した場合も、そこで終わりではない。 同じ成功をより短い時間・少ない LLM 要求数・少ないトークン数で達成できるかを見る。
時間
スキャンや検索に時間を使いすぎていないか。成功までの所要時間を前回と比べる。
LLM要求数
同じ判断を何度もモデルに聞いていないか。委譲の粒度が細かすぎないかを見る。
トークン数
生ログを履歴に入れすぎていないか。状態と artifacts の分離が効いているかを見る。
03動作が安定してきたら
ある程度、偵察 → 侵入 → 権限昇格の流れが動作するようになったら、コマ5あたりで WebUI とレポートの改良にも着手する。 ただし、偵察 → 侵入 → 権限昇格の一連の実行がまだ安定していない段階では後回しにする。
実行状況を見やすくする
到達フェーズ、失敗分類、所要時間、LLM要求数、トークン数、証拠ファイルへのリンクを見やすくする。 レビューに必要な情報が1画面で追えることを優先する。
成果報告に使える形にする
成功した標的だけでなく、止まった標的についても「どこで止まり、なぜか」を出せるようにする。 変更前後の比較、残課題、証拠の参照をレポートに含める。
*成果物
実行ログ
標的、実行時刻、到達フェーズ、所要時間、LLM要求数、トークン数。
レビュー記録
失敗分類、原因、改良方針、誰がどこを直すか。
比較結果
変更前後で成功率、時間、トークン数がどう変わったか。