0xSteph/pentest-ai
Open-source AI pentester that proves every finding. Machine oracles re-run each exploit; verified bugs ship a proof capsule you can replay yourself.
pentest‑ai (ptai) – AI‑coordinated, oracle‑verified penetration testing
概要 – ptai は、既存のセキュリティスキャナー、エクスプロイトツール、カスタムプローブを調整するためだけに大規模言語モデル (LLM) を使用する Python ベースのコマンドラインツールです。脆弱性が発見されると、ツールは対象に対して決定論的で非破壊的な概念実証 (「オラクル」) を再実行します。オラクルが N/N 回問題の再現に成功した場合のみ、その発見は VERIFIED (検証済み) とマークされます。そのため、レポートには Nuclei や ZAP のようなスキャナーに典型的なノイズの多い出力ではなく、証明された脆弱性のみが含まれます。
主な機能
- LLMによるワークフローのオーケストレーション – LLM (Claude, OpenAI, Ollama など) が 200 以上のラップされたツールと約 60 の Web プローブのパイプラインを駆動し、どのツールを実行し、どのように結果を連鎖させるかを決定します。
- オラクル検証 – 各候補エクスプロイトは、専用の「マシン・オラクル」(例: 漏洩したシークレットでのログイン、細工されたリクエストの再送信) によって再実行されます。オラクルが成功した場合にのみ、その発見は VERIFIED バッジと、後で再生可能なポータブルな 証明カプセル (
ptai replay) を獲得します。 - マルチフェーズ・エージェント – 偵察、認証処理、Web/API/AD/クラウドテスト、権限昇格、エクスプロイトチェーンの構築、PoC検証、検知ルール生成、レポート作成に加え、オプションでレッドチーム、モバイル、ワイヤレスエージェントも利用可能です。
- ゼロトラスト実行 – すべてのネットワークトラフィックはユーザーのマシンから発生します。ユーザーが LLM エンドポイントを提供しない限り、クラウドサービスは必要ありません。Ollama を使用して完全にオフラインで実行することも可能です。
- CI/CD 統合 – GitHub Action の例では、検証済みの高重要度の発見が発生したときに、SARIF、JUnit、または PDF レポートを使用して PR を失敗させる方法を示しています。
- スコープの安全性 – アクティブなツールはホストにロックされています。スキャナーがページからスクレイピングした第三者の URL を追跡することはありません。
- コストガード – スタンドアロン (非 MCP) モードでは、LLM の使用料はデフォルトで 10 USD に制限されています。この制限は
PTAI_PRICE_LIMITを介して設定可能です。
仕組み (ハイレベルなフロー)
ptai start <target>でエンゲージメントを開始します。- Recon (偵察) でポート、DNS、サービスフィンガープリントを収集します。
- Auth (認証) でログインし (認証情報は環境変数、1Password、Vault などから参照可能)、セッションを維持します。
- Web / API / AD / Cloud エージェント が決定論的なプローブを実行します (OWASP Top 10、API Top 10 などをカバーする 60 以上の SPA 対応チェック)。
- 発見内容はローカルの SQLite DB に保存されます。
- Exploit‑chain エージェント が発見内容を相関させ、多段階の攻撃パスを構築します。
- Poc‑validator (オラクル) が各発見を再実行します。成功したものだけが VERIFIED となり、再生可能なカプセルにパッケージ化されます。
- Report エージェント が Markdown、HTML、PDF、SARIF、JUnit、およびオプションの検知ルールエクスポートを出力します。
インストールと使用方法
pip install ptai # コアパッケージ
tai start https://target.com # インタラクティブ実行 (認証、スコープなどの入力を求められます)
tai demo # バンドルされた脆弱なアプリに対するクイックデモ
tai replay <capsule> # 証明カプセルを自分で再生
以下の 3 つの実行パス がドキュメント化されています:
- パス 1 – API キーなしで Claude Code (または他の MCP 互換クライアント) から
ptaiを駆動します。クライアントの既存の Anthropic サブスクリプションが LLM を提供します。 - パス 2 –
ptai setup --mcpを介して、他の MCP クライアント (Cursor, VS Code Copilot など) を自動設定します。 - パス 3 – CI、エアギャップ環境のターミナル、または MCP クライアントを使用しないユーザー向けのスタンドアロン CLI。LLM API キーまたはローカルの Ollama サーバーが必要です。
ベンチマーク (README に記載)
- 14 の脆弱性クラスを含むカスタムハニーポットにおいて、
ptaiは 23 件の発見 を 精度 100% かつ 誤検知ゼロ で検証しました。 - OWASP Juice Shop において、単一のスキャンで 12 件のオラクル検証済み発見 (例: JWT
alg:none、BOLA、逐次 IDOR、型混乱) を生成しました。 - このツールはハニーポットのハーネスとクリーンなアプリのテストスイートを同梱しているため、これらの数値は再現可能です。
使用すべき場面
- 各脆弱性の 高信頼で再現可能な証明 が必要な、内部レッドチームまたはペネトレーションテストのエンゲージメント。
- 検証済み のセキュリティ発見に基づいてマージを制限する必要がある CI/CD パイプライン。
- 厳格なデータプライバシー要件がある環境 (ローカル実行、テレメトリなし、オフライン LLM オプション)。
- すでに MCP 互換の LLM クライアント (Claude Code, Cursor など) を使用しており、セキュリティツールで拡張したいチーム。
制限事項 / 注意事項
- LLM はあくまで調整役です。検知範囲は厳選されたプローブライブラリ (約 60 の Web プローブ、200 以上のラップされたツール) に依存します。ライブラリにない新しいバグは見つかりません。
- オラクル検証は実行時のオーバーヘッドを追加します。ノートパソコンではフルスキャンに数分かかる場合があります。
- スタンドアロンモードでは LLM の使用に API コストがかかります。デフォルトの 10 USD の上限により、上限を上げない限り長いエンゲージメントは中断される可能性があります。
- このツールは 攻撃的 (offensive) なものであり、承認された使用ポリシー への同意が必要です。許可を得たシステムに対してのみ実行してください。
TL;DR – pentest‑ai (pip パッケージ ptai) は、発見されたすべてのエクスプロイトを自動的に再実行して機械的に検証された証明を生成することで差別化を図る、オープンソースの LLM 調整型ペネトレーションテストフレームワークです。ローカルで動作し、既存のセキュリティツールと統合され、CI/CD をサポートし、クラウドベース (MCP) と完全オフラインの両方の使用モードを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト