Armur-Ai/Pentest-Swarm-AI
Autonomous penetration testing using a swarm of AI agents. Orchestrates recon, classification, exploitation, and reporting specialists with ReAct reasoning — supports bug bounty, continuous monitoring, and CTF modes. Built with Go and 7+ native security tools.
Pentest Swarm AI
概要 – オープンソースで自己ホスト型のペンテストフレームワークであり、多数の AIエージェントを並列実行(「スウォーム」)して脆弱性を発見・悪用・報告します。提供する任意のLLM(Claude、OpenAI互換、Together AIモデル、Ollamaなど)で動作し、スティグメルギー性フェロモンを用いて共有「ブラックボード」を介してエージェントを調整し、次に追跡すべき発見結果を決定します。
主な特徴
| 特徴 | 説明 |
|---|---|
| 本物のスウォームアーキテクチャ | 独立したエージェント(偵察、分類、悪用、報告)がpgvectorバックのブラックボードを読み書きし、発見結果はフェロモンを放出して他のエージェントを自動的にトリガーします。 |
| 並行スキャン | 数百のサブドメインやポートが並列でプローブされ、線形パイプラインよりはるかに高速です。 |
| 自動悪用 | 発見結果が高重大度と分類されると、悪用エージェントが実際の攻撃(BOLA/IDOR、JWT偽造、SSRF、インジェクションなど)を試み、概念実証の証拠をキャプチャします。 |
| 証拠に基づくレポート | 成功した悪用は、CVSS v3.1スコアとスクリーンショット/ログを含む構造化レポートに変換されます。 |
| プロバイダー非依存のLLMサポート | Claude(デフォルト)、Together AI、OpenAI互換、Gemini、ローカルOllama/LM Studio、または任意のカスタムエンドポイント。 |
| ゼロコストスターター | Ollamaで完全にローカル実行可能で、APIキーは不要です。 |
| 内蔵ツールチェーン | ProjectDiscoveryユーティリティ(subfinder、httpx、nuclei、naabu、katana、dnsx、gau)とnmapアダプターを統合。 |
| ライブUI | Webダッシュボード(localhost:7777)と全画面ターミナルTUIで、チャート、スウォームトポロジー、ライブ発見結果ストリームを表示。 |
| スコープ強制 | オーケストレーションレイヤーと各エグゼキュータ内の両方で、スコープ外の活動を防止。 |
| 拡張可能なエージェント | トリガー述語を定義するだけで新しいエージェントを追加可能。中央オーケストレーターの変更は不要。 |
| Jev偽陽性フィルターと適応スコアリング | 攻撃パスをスコアリングし、最も有望なものを優先するオプションのセカンドオピニオンフィルター。 |
| プレイブックと悪用チェーン | 一般的なシナリオ(バグ報奨金、CI/CD、内部ネットワーク、CTF)用のYAMLプレイブックと、事前構築された悪用チェーンのライブラリ。 |
| CI/CD対応 | スクリプト可能なpentestswarm scan …コマンドとGitHub Actionラッパー。 |
スウォームの仕組み
- シード – ユーザーがキャンペーンを起動し(TUIまたはCLI経由)、ターゲットまたはバンドルされた脆弱ラボを選択します。
- ブラックボード – pgvectorデータベースがすべての発見結果をフェロモン重み付きのベクトルとして保存します。
- エージェントは独立して実行 – 各エージェントは継続的にブラックボードをポーリングします。発見結果のフェロモンがしきい値を超えると、エージェントは起きて行動します(例:偵察が
PORT_OPENを書き込み、分類器がSQL_INJECTIONとタグ付けし、悪用がインジェクションを試み、報告が結果をログします)。 - 創発 – エージェントは固定パイプラインではなく共有状態に反応するため、攻撃チェーンが自発的に形成されます(偵察→分類→悪用→新しい偵察など)。
- 減衰 – フェロモンは時間とともに減衰し(発見結果の種類ごとに異なる半減期)、古いパスは手動クリーンアップなしで消えます。
- 証拠と報告 – 成功した悪用はスクリーンショット/リクエスト・レスポンスログを生成し、自動的にCVSSスコア付きレポートにまとめられます。
クイックスタート(ワンライナーインストールと実行)
# インストール – 好きな方法を選んでください
npm install -g @armurai/pentestswarm # npm
curl -fsSL https://raw.githubusercontent.com/Armur-Ai/Pentest-Swarm-AI/main/scripts/install.sh | sh # スクリプト
brew install Armur-Ai/tap/pentestswarm # Homebrew
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest # Go
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help # Docker
# インタラクティブランチャーを実行
pentestswarm run
ランチャーは以下を尋ねます:
- LLMプロバイダー(Claude、Together AI、Ollamaなど)を選択し、必要に応じてAPIキーを貼り付けます。
- ターゲットURLを入力またはバンドルされた脆弱ラボ(例:OWASP Juice Shop、crAPI)を選択します。
- ライブビュー(Webダッシュボード+ターミナルUI)を選択します。
- Launchを押すと、スウォームが自動的にスキャンと悪用を開始します。
典型的な使用ケース
- バグ報奨金ハンター – 一晩で新しいスコープをスイープし、概念実証付きの検証済み発見結果を取得します。
- レッドチーム/ペネトレーションテスター – 大規模な攻撃面(多数のサブドメイン、内部ネットワーク)を最小限の手動オーケストレーションで迅速にカバーします。
- セキュリティ研究者/CTFプレイヤー – 内蔵ラボやカスタムプレイブックを実行して新しい悪用アイデアをテストします。
- CI/CDパイプライン – スクリプト可能な
pentestswarm scanコマンドを使用して、ビルドの一部としてセキュリティスキャンを自動化します。
インストールオプション
| 方法 | コマンド | 注意 |
|---|---|---|
| npm | npm install -g @armurai/pentestswarm |
Node ≥ 16が必要。 |
| シェルスクリプト | `curl … | sh` |
| Homebrew | brew install Armur-Ai/tap/pentestswarm |
macOS/Linuxでbrew経由。 |
| Go | go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest |
Go 1.24+が必要。 |
| Docker | docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help |
ホストインストール不要。コンテナ内で実行。 |
ライセンスとステータス
- ライセンス: AGPL-3.0(コピーレフト、変更を加えた場合はソース配布が必要)。
- プロジェクトステータス: アルファ – コアスウォームスケジューラーは機能(
--swarmフラグ)、多くのコンポーネント(ライブダッシュボード、Jevスコアリング、悪用チェーンライブラリ)はベータ段階、今後のアダプター(Burp、Metasploit)とファインチューニングされたPentest-R1モデルのロードマップがあります。
詳細情報
- ドキュメントサイト: https://armur-ai.github.io/Pentest-Swarm-AI/
- アーキテクチャ詳細: https://armur-ai.github.io/Pentest-Swarm-AI/architecture
- Discordコミュニティ: https://discord.gg/6qtkhpW8tk
- ロードマップ: リポジトリ内の
ROADMAP.md。
法的免責事項: このツールは認可されたテストのみ(バグ報奨金プログラム、CTF、明示的な許可を得たレッドチーム演習)を対象としています。誤用は違法であり、著者は責任を負いません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト