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 – オープンソースでスウォームベースのペネトレーションテストフレームワーク
何であるか
- 100以上の自律的なAIエージェントを同時に実行できるGoベースのコマンドラインツール。エージェントは スタイグメルギック なブラックボード(Postgres + pgvectorストア)を共有し、各発見には「フェロモン」重みが付与される。他のエージェントはそのブラックボードを読み、重みが閾値を超えると反応するため、ワークフローは固定パイプラインに従うのではなく、自然に出現する。
なぜ「スウォーム」が重要か
- 伝統的なAIペネトレーションテストツール(例:PentestGPT)は、単一のプランナーLLMが専門ツールを線形に呼び出す:リコン → 分類 → 攻撃 → 報告。Pentest Swarmはそのプランナーを、ブラックボードを通じて協調する分散型エージェント群に置き換える。これにより真の並列処理が可能になる(1,000個のサブドメインを多数のエージェントが同時にプローブ)し、攻撃チェーンが自然発生的に形成される(例:リコンの発見が即座に攻撃をトリガーするなど、ハードコードされた移行が不要)。
主要コンポーネント
| コンポーネント | 技術/役割 |
|---|---|
| エージェント | 4つの組み込みエージェント(リコン、分類、攻撃、レポート)。各エージェントは独立して実行され、他のエージェントに影響を与えずに追加・削除可能。 |
| ブラックボード | Postgres 16 + pgvector;発見、フェロモンレベル、類似性検索用のベクトル埋め込みを格納。 |
| フェロモン | 数値の重みで、時間とともに減衰(発見タイプごとに異なる半減期)。重みが閾値を超えると、関連エージェントが起動する。 |
| LLMプロバイダー | 1つのプロバイダー設定(Claude、Together AI、OpenAI互換、Gemini、Ollama、LM Studio、OrcaRouter)。すべてのエージェントで同じモデルを使用。フレームワークは「手」(ツール実行、協調)のみを提供。 |
| ツールチェーン | ProjectDiscovery Goライブラリ(subfinder、httpx、nuclei、naabu、katana、dnsx、gau)およびnmapアダプタ。今後Metasploit、sqlmap、ZAP、Burp用のアダプタを計画中。 |
| ダッシュボード/UI | クイック起動用のインタラクティブTUI(Cobra + Bubbletea);オプションでlocalhost:7777にWebダッシュボード(Next.js 15)を起動し、ライブチャートとスウォームトポロジーを表示。 |
| キャッシュ/レート制限 | Redis 7でセッション状態とリクエストのスロットリングを管理。 |
使い方
- インストール – npm、Homebrew、Goインストール、Docker pull、またはcurlスクリプトによるワンライナーで導入。
- 実行 –
pentestswarm runでTUIが開き、プロバイダーを選択し、APIキーを貼り付け(またはローカルのOllamaモデルを使用)、ターゲットURLまたはバンドルされた脆弱なラボ(例:OWASP Juice Shop、crAPI、VAmPI、DVGA)を指定。 - 監視 – UIはライブチャート、エージェントのトポロジー図、グレーディングされた発見のストリーミングリストを表示。より豊かな可視化のために別途Webダッシュボードを開くことも可能。
- スクリプト – CI/CDや自動化にはフラグ形式を使用:
pentestswarm scan <target> --scope <scope> --swarm …。
セキュリティと法的注意
- ツールはオーケストレーション層と各エグゼキュータ内での両方でスコープを強制。
--strictモードでは、LLMのエラーを致命的とみなす。READMEに、ソフトウェアは認可されたテストのみに使用することを明記(バグバウンティプログラム、CTF、レッドチーム演習、研究)。
現在の状態
- コアの順次5フェーズランナーは 安定。
- スタイグメルギックなスウォームスケジューラは アルファ(
--swarmで有効化)。 - Postgresブラックボードは ベータ(移行完了までデフォルトでメモリボードを使用)。
- ライブダッシュボードは アルファ;VS Code拡張とGitHub Actionは ベータ。
- 今後の波2の機能には、Metasploit、sqlmap、ZAP、Burp用のアダプタ、およびより豊富なコミュニティプレイブックの追加を計画。
対象ユーザー
- 大規模なスコープを一夜でカバーしたいペネトレーションテスト担当者。
- 新規資産で最初のバグを発見したいバグバウンティハンター。
- 広範囲かつ高速なテストが必要なレッドチームオペレーター。
- 自律的な攻撃AIを探索するセキュリティ研究者。
結論 Pentest Swarm AIは、Claude、Together AIモデル、ローカルのOllamaなど、任意のLLMを協調的な自律型ペネトレーションテストエージェントのスウォームに変換する本格的なオープンソースプロジェクトである。スタイグメルギーとフェロモンベースの出現を活用し、データをユーザーが完全に制御しながら、「マシンスピード」で並列かつ証拠に基づいた脆弱性発見を実現することを目指している。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト