PentestGPT は、ChatGPT などの大規模言語モデルにペネトレーションテスト(侵入テスト)を手伝わせる研究から生まれた OSS です。論文は USENIX Security 2024 で発表され、GitHub のスターは約1.63万(2026-11-09)です。ただし今のリポジトリには、論文の流れを汲む対話型と、Claude Code や Codex を動かす自律型の2つが同居しています。名前だけで選ぶと、思っていたのと違う道具を動かすことになります。

TWO MODES1つのリポジトリに2つの PentestGPT

論文の対話型と、Claude Code・Codex を動かす自律型

pentestgpt-legacy(論文の流れ)

  • USENIX Security 2024 の対話型ツール
  • 3つの LLM セッションで作業の木を保つ
  • コマンドを実行するのは人
  • OpenAI・Anthropic・Gemini・Ollama など

pentestgpt-agent(自律型)

  • Supervisor と Executor のループを SQLite に残す
  • Claude Code か Codex の CLI を動かす
  • 両役割に FULL_ACCESS(全ツール・入出力に制限なし)
  • 隔離した使い捨て環境が前提と明記
出典: GreyDGL/PentestGPT の README・pyproject.toml・pentestgpt_agent/(HEAD 2026-07-14、当サイトで確認)

30秒でわかる(2026-11-09)

  • ・対話型(legacy):論文の作り。LLM が次の一手を提案し、コマンドを実行するのは人
  • ・自律型(agent):Claude Code か Codex の CLI に作業させる。権限は全ツール・制限なしで、隔離した使い捨て環境が前提
  • ・README とのずれ:86.5% は過去の研究結果と README 自身が注記。起動例の pentestgpt コマンドは定義が見当たらない
  • ・ライセンス:MIT。最新タグは v1.0.0、HEAD は 2026-07-14

まずやること(使う前に)

  • どちらを使うか決める:人が手を動かして学ぶなら対話型、検証環境をまとめて回させるなら自律型。
  • 自律型は専用の VM で:手元の認証情報・社内網・本番の鍵が無い使い捨て環境に、許可された対象だけを置く。
  • 送るデータを確認する:診断の経過は LLM 事業者に送られる。Claude Code・Codex の契約と社内規程を見ておく。

AI ペンテスト OSS の全体像は AIペネトレーションテストOSSの選び方|主要7本の違いと、動かす前に決める5つ にまとめています。ソフトウェアの依存全体を守る考え方は サプライチェーン攻撃とは|手口・防御ツール比較・npm 12の新機構まで実践解説 を参照してください。

PentestGPTとは——論文から生まれたAIペンテスト支援

論文版の PentestGPT は、LLM にペンテストを丸ごと任せるのではなく、人の作業を支える形をとりました。推論・生成・解析の3つの LLM セッションで「作業の木」(Pentesting Task Tree)を保ち、次に何を試すかを提案します。実際のコマンドは人が実行し、その結果を貼り付けて次の提案を受け取ります。LLM が長い作業の途中で文脈を見失う弱点を、木で全体を保つことで補う考え方です。

この対話型は、今は pentestgpt-legacy として残っています。対応する LLM は OpenAI・Anthropic・Gemini・DeepSeek・xAI・Qwen・Kimi と、Ollama などのローカルモデルです。API キーは環境変数か .env で渡します。

項目 内容(2026-11-09 時点)
ライセンス MIT(LICENSE.md・pyproject.toml)
最新タグ v1.0.0(HEAD は 2026-07-14 のコミット)
Python 3.12 以上
導入 git clone 後に make install(中身は uv sync)、または Docker
定義されたコマンド pentestgpt-legacy、pentestgpt-agent(後者は pentestgpt_agent 側)

自律型 pentestgpt-agent——Claude Code・Codex に任せる

もう1つの pentestgpt-agent は、README が「維持されている自律フレームワーク」と呼ぶものです。Supervisor(監督役)が次のタスクを1つ選び、Executor(実行役)がそれを実行し、経過を SQLite に記録します。中で動くのは Claude Code か Codex の CLI で、既定は Claude です。API キーは読まず、認証済みの CLI をそのまま使います。

権限の扱いは強めです。コードは監督役と実行役の両方に FULL_ACCESS(全ツール・入出力に制限なし)を渡し、「PentestGPT 自体はデプロイ側の隔離の内側で動く前提」とコメントしています。リポジトリに残る旧版のコピーでは、この FULL_ACCESS は Claude Code の確認なしモード(bypassPermissions)に対応づけられています(実際に使う外部パッケージ unified-agent 0.3.0 での対応は未確認)。README も「許可された対象と必要な認証情報だけを置いた、隔離された使い捨ての環境」で動かすよう明記しています。

範囲を守る仕組みはあります。計画の段階で、タスクの対象が --target で渡した許可リストと一字一句一致するかをコードで確かめ、外れていれば計画を拒否します。調査のタスクが攻撃に踏み込む文言を含む場合も拒否します。ただしこれは計画に書かれた対象の検査で、実行役が打つコマンドの通信先をネットワークの段階で止めるものではありません。範囲外に届かないことを保証したいなら、VM やファイアウォールの側で止めます。

README の主張と、リポジトリの中身

CLAIM vs REPOREADME の主張と、リポジトリの中身

86.5% は過去の研究結果。最新の HTB 記録は「不合格」

README に書かれていること

  • XBOW の検証セットで 86.5%(90/104、2025年12月)
  • pentestgpt --target … で起動
  • Langfuse に匿名の利用データを送る
  • --no-telemetry で止められる

リポジトリで確かめられること

  • README 自身が「現行版の保証ではない」と注記
  • 定義済みは pentestgpt-legacy と pentestgpt-agent
  • コードに langfuse の import が見当たらない
  • HTB の記録(2026-07)は Not qualified
当サイトの静的な確認(2026-11-09)。実行はしていない

README とリポジトリの中身を突き合わせると、いくつかずれがあります。

  • 86.5%:README は「2025年12月の XBOW 検証セットで 104問中90問(86.5%)」と書き、すぐ後に「過去の研究結果で、現行の pentestgpt-agent の性能を保証するものではない」と注記しています。評価の仕組みはリポジトリの外にあり、結果データも入っていません。
  • Hack The Box の記録:リポジトリには 2026年7月の HTB(Enigma)の記録があり、判定はNot qualified(不合格)です。2つのモデルとも、ユーザー権限と root 権限の証明に届きませんでした。記録自身は「対象が解けないという主張ではない」と断ったうえで、最後の Codex の実行が予算の大半を偵察の繰り返しに使ったと書いています。
  • 起動コマンド:README の使い方は pentestgpt --target … ですが、pyproject に定義されているのは pentestgpt-legacy と、自律型の pentestgpt-agent です。pentestgpt という名前のコマンドは見当たりませんでした。
  • テレメトリ:README は匿名の利用データを Langfuse に送ると書き、止め方も案内しています。ただし依存に langfuse は入っているものの、コードに import は見当たらず、送信の実装は確認できませんでした。

数字を読むときは、どの版の、どの評価で、誰が測ったかを確かめてから使うのが安全です。

使う前の確認と対策

自律型を動かす前に、手元に取得したリポジトリで、役割にどの権限が渡るかを自分の目で確かめておきます。

grep -n "SandboxPolicy" pentestgpt_agent/src/pentestgpt_agent/trial.py

2026-11-09 時点の HEAD では、role_sandbox = SandboxPolicy.FULL_ACCESS などの行が出ます。版が変わればここも変わりうるので、更新のたびに見直してください。このコマンドが見るのはコード上の既定だけで、実行時にどこまで届くか(影響範囲)は、このコマンドだけでは判断できません。動かす環境の隔離で決まるので、対策は VM やネットワークの側で取ります。

PentestGPT はどんな人に向くか

目的 向く形
CTF や演習で、LLM の提案を見ながら自分の手で学ぶ 対話型(pentestgpt-legacy)
Claude Code・Codex の契約があり、隔離した検証環境をまとめて回させたい 自律型(pentestgpt-agent)
本番の社内網から外部の対象を診断したい どちらも不向き。隔離と書面の許可が先

見つけた脆弱性を実際に攻めて裏を取る型なら Strixとは|AIが実際に攻めてPoCで裏取りするOSSペンテスターを実測で解説、自己ホストの画面で複数のエージェントを回す型なら PentAGIとは|自律型AIペンテストOSSの仕組みと、既定設定で気をつける4点 と比べてください。どれを使う場合も、診断してよいのは自分の資産か、書面で許可を得た対象だけです。

参照ソース