Vasco0x4/AIDA

Turn any LLM into an autonomous pentester. You define the scope, the agent does the work, you review the findings.

AIDA – AI駆動の自律的ペネトレーションテストエージェント

何であるか – AIDAは、任意の大規模言語モデル(Claude、Gemini、OpenAIなど)を自律的なセキュリティ評価アシスタントに変換するオープンソースプラットフォームです。LLMはDockerベースの実行環境を制御し、リコンナイサンスおよびエクスプロイトツールを実行し、リアルタイムでPythonペイロードを生成し、すべてのステップを永続的なノートブックに記録します。人間のレビュアーが後で監査できるようになります。

主要なコンポーネント

  • LLMバックエンドエージェント – モデルに依存しない。ツールコールをサポートする任意のLLMと連携可能。エージェントはどのアクションを取るべきか(スキャン、列挙、エクスプロイト、ログ)を決定します。
  • ペネトレーションテストコンテナ – 一般的なツール(nmap、sqlmap、ffuf、nucleiなど)を含む事前ビルド済みDockerイメージ(aida-pentest)。不足しているツールは実行時インストール可能で、より大きなExegolイメージに交換することもできます。
  • ツールコールAPI – AnthropicのModel Context Protocol(MCP)に基づいています。LLMはexecute()、scan()、http_request()、python_exec()、add_card()などの関数を呼び出して、ターゲットとやり取りし、発見を記録します。
  • ダッシュボードとノートブック – Web UI(デフォルト http://localhost:31337)でリアルタイムの進捗、攻撃のタイムライン、検索可能な発見リストを表示します。発見は自動的にCVSS 4.0でスコア付けされ、PDFレポートとしてエクスポート可能です。
  • 認証と通知 – JWTベースのユーザー権限、および新しい発見に対してTelegram/Slack/Emailによるオプション通知。

何ができるか

  1. スコープ定義 – ターゲットURL、サブドメインリスト、除外項目を提供します。
  2. 自律的実行 – LLMは反復的にリコンナイサンス(サブドメイン列挙、SSL分析、テクノロジーのファイアーフィンガー)を実行し、脆弱性スキャンとカスタムエクスプロイト(Pythonスクリプト、生HTTP操作)を実施します。
  3. 証拠収集 – すべてのコマンド、その生出力、そしてその背後にある推論がノートブックに保存されます。
  4. 人間による引き継ぎ – 実行後、ログされた発見をレビューし、必要に応じてステップを再現し、最終レポートを生成します。

クイックスタート(READMEから)

# UIのクローンと起動(Dockerが必要)
git clone https://github.com/Vasco0x4/AIDA.git && cd AIDA
./start.sh               # UIは http://localhost:31337

# エージェントの起動(デフォルトはClaude Code)
python3 aida.py --assessment "target-corp"

オプションフラグで特定のモデルを選択(--cli codex)、プロンプトなしで実行(--yes)、またはUIをLAN/パブリックドメインで公開できます。

サポートされるモデルとクライアント

クライアント 使用方法
Claude Code python3 aida.py(自動検出)
OpenAI Codex CLI python3 aida.py --cli codex
Kimi、Gemini、その他のOpenAI互換API 同じ --cli または --base-url オプション
デスクトップクライアント(Claude、ChatGPT) MCPファイルで設定

組み込みエージェントツール

  • execute() – ペネトレーションテストコンテナ内で任意のシェルコマンドを実行。
  • scan() – nmap、ffuf、nikto、dirbなどのラッパー。
  • subdomain_enum() – サブドメインを発見。
  • ssl_analysis() – TLS/SSLチェック。
  • tech_detection() – Webテクノロジーのファイアーフィンガー。
  • python_exec() – コンテナ内で任意のPythonコードを実行。
  • http_request() – 認証情報のプレースホルダーを含む完全制御可能なHTTPクライアント。
  • add_card() – 脆弱性をログ(自動CVSS 4.0計算)。
  • credentials_add() – セキュリティ情報を保存し、自動挿入可能。

現実世界の影響 – READMEにはAIDAが発見した複数のCVE(例:kestra-io/kestraにおける深刻なRCE)がリストアップされています。これは、このツールが公開可能な発見を生み出せることを示しています。

一般的な利用ケース

  • レッドチーム / ペネトレーションテストの自動化 – 手動監査の前に、低コストの脆弱性を発見するための最初のスキャンを実行。
  • バグバウンティの探索 – ターゲットの攻撃面を素早く列挙・テスト。
  • 継続的セキュリティテスト – CLIをCIパイプラインに統合し、定期的なスキャンを実行。
  • 学習 / 研究 – 自分でツールを書かずに、LLM駆動のエクスプロイトを実験。

インストールノート

  • Docker DesktopとツールコールをサポートするLLMクライアントが必要。
  • start.shスクリプトは開発モード(--dev)、LANモード(--lan)、Let’s Encryptによるパブリックモード(--domain)で実行可能。
  • 「localhostモード」(--localhost)では、コンテナ内ではなくホスト上でコマンドを直接実行できます(デバッグに便利)。

ライセンス – AGPL-v3。したがって、いかなる変更も同じライセンスで共有しなければなりません。

コミュニティ – サポート用Discordチャンネル、およびイシュー追跡と貢献ガイドラインへのリンク。


結論 – AIDAは、LLMの推論と完全なペネトレーションテストツールチェーンを組み合わせた本格的なオープンソースAIエージェントプロジェクトです。繰り返し作業を自動化しながらも、検証とレポート作成に人間を関与させるセキュリティ専門家向けです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト