cha0upup/LeoAI
AI 驱动的后渗透综合管理平台,深度集成 LLM Agent,开箱即用。
LeoAI – AI 拡張型ポストエクスプロイテーション&ホスト管理プラットフォーム
概要 – LeoAI は、ホスト資産管理、対話型エージェントコンソール、および許可されたレッドチームおよびセキュリティ研究活動のための大規模言語モデル(LLM)支援を組み合わせたオープンソースの Web ベースプラットフォームです。Java 17+ Spring Boot バックエンドで実行され、デュアルランタイムをサポートします:Java エージェントと軽量な PHP 5.6+ エージェントで、両方とも同じ機能ベースの RPC インターフェースを公開します。
コア機能
| 領域 | LeoAI が提供するもの |
|---|---|
| AI 調整 | プラットフォームレベルの AI(LangChain4j)は、資産を分析し、多段階の操作を計画し、特定のエージェントで実行される ノード AI にタスクをディスパッチできます。OpenAI 互換モデル(OpenAI、Claude、DeepSeek など)をサポートし、動的コンテキストウィンドウは最大 1 MiB まで拡張可能です。 |
| ホスト&セッション管理 | 集中型インベントリ、オンライン/オフラインセッション追跡、バッチホストインポート、SQLite ベースの永続化。 |
| 対話型コンソール | Web ターミナル(xterm.js)、ファイルマネージャー、データベースコンソール(MySQL、PostgreSQL、Oracle、SQLite、SQL Server)、レジストリビューアー、プロセス/サービス制御、Docker 管理、Web ランタイムフィンガープリンティング、資格情報抽出、スキャンツール、プロキシ/トンネル処理。 |
| エージェントランタイム | • Java エージェント – オンデマンドでロードされるコンパイル済みコンポーネント、ProcessBuilder/PTY を使用。 |
• PHP エージェント – 単一ファイルの HTTP エントリ、コンポーネントを遅延ロード、proc_open/popen を使用。両方とも同じ SPI、機能契約、RPC プロトコルを公開します。 |
|
| シェル / Web シェル生成 | インメモリ Java シェルビルダー(フィルター、リスナー、バルブ、インターセプターなど)、24 種類のサーバータイプ(Tomcat、Jetty、JBoss、WebLogic、WebSphere、Spring MVC、Dubbo など)と JSP/Groovy Web シェルをカバー。 |
| プラグイン&スキルシステム | Java バイトコード、JavaScript/Groovy/Python スクリプト、および一般的なポストエクスプロイテーションワークフロー(偵察、資格情報ダンプ、権限昇格、横移動など)をエンコードする事前パッケージ化された AI スキル のためのビジュアルプラグインマネージャー。 |
| レポート&アーカイブ | 偵察の自動要約、AI 生成の操作レポート、検索可能なメタデータを持つアーティファクトライブラリ。 |
| チーム&監査 | ユーザー/ロール管理、チーム共有、操作監査ログ、AI 対話ログ。 |
アーキテクチャスナップショット
graph TD
web[Web UI] --> service[Service / AI orchestration]
service --> core[Core SPI / Capability / RPC / Session]
web --> java[Java Agent Runtime]
web --> php[PHP Agent Runtime]
core --> java
core --> php
service --> jmg[Java memory-shell generator]
プラットフォームは Java と PHP エージェントを交換可能なランタイムとして扱います。上位レイヤーは特定の言語ではなく抽象的な機能を扱います。
技術スタック(リポジトリに記載されているもの)
- バックエンド:Spring Boot 3.5、MyBatis 3、SQLite(組み込み)、OkHttp 4、Javassist 3.30
- AI レイヤー:LangChain4j 1.16、OpenAI 互換 LLM API(OpenAI、Claude、DeepSeek、Alibaba Tongyi、Ollama など)
- ビルド:Maven マルチモジュール
- フロントエンド:JAR にバンドルされ、最新のブラウザ(Chrome/Firefox/Edge)とターミナル用の xterm.js を使用
- エージェントランタイム:Java 17+ コンポーネント + PHP 5.6+ 単一ファイル HTTP エントリ
クイックスタート
- リリースページから JAR をダウンロード – 例:
LeoAi-3.0.0.jar。 - 実行(Java 17+ が必要):
java --add-opens java.base/java.lang=ALL-UNNAMED -jar LeoAi-3.0.0.jar--add-opensフラグは、プラットフォームが使用する内部リフレクションに必須です。 - ブラウザで
http://localhost:8082を開きます。 - デフォルトの管理者アカウント
admin / 54ikunでログインし、すぐにパスワードを変更します。
Docker 代替案
git clone https://github.com/cha0upup/LeoAI.git
cd LeoAI
docker compose up -d --build
- Dockerfile は JAR を自動的に取得します。コンテナは SQLite データベースを Docker ボリューム(
leoai-data)に保存します。 - ポート、暗号化キー、JAR URL は
.envファイルで上書きできます。
AI モデルの設定
Web UI で 管理 → AI 設定 に移動し、プロバイダーを追加します:
- 名前
- ベース URL(例:
https://api.openai.com/v1) - API キー
- モデル名 プラットフォームは LangChain4j を使用してプロンプトをルーティングし、ツール呼び出しを処理し、結果をコンソールにストリーミングします。
典型的なワークフロー
- ホストを追加 – 名前を指定し、Java または PHP ランタイムを選択し、エージェント URL とシークレットキーを指定します。
- そのホストのコンソールを開く – ツール(ターミナル、ファイルマネージャー、DB コンソール、スキャナーなど)を選択します。
- プラットフォーム AI を呼び出す – 「このホストの Web サービスを列挙して」と依頼します。AI は手順を計画し、適切なスキャンツールを呼び出し、進捗をストリーミングし、最後に簡潔なレポートを生成します。
- アーティファクトを保存 – 生成されたスクリプト、シェルペイロード、または AI が作成したレポートは、アーティファクト ライブラリに自動的にアーカイブされます。
- コラボレーション – チームメイトはホストを共有し、監査ログを表示し、スキルを共同作成できます。
誰が使うべきか?
- レッドチームオペレーター – 内部ネットワークをテストする法的許可を持つ人。
- セキュリティ研究者 – ポストエクスプロイテーションツールを構築または評価する人。
- DevSecOps チーム – インシデント対応訓練のための AI 支援インターフェースを希望するチーム(適切なライセンスと同意がある場合)。
ライセンスと免責事項
- GPL v3 の下でライセンスされています。
- README には標準的な免責事項が含まれています:このソフトウェアは許可されたセキュリティテストのみを目的としており、誤用はユーザーの責任です。
結論 – LeoAI は、ホスト管理、豊富なポストエクスプロイテーションツール、LLM 駆動の自動化を統合したフルスタックの AI 拡張型レッドチームプラットフォームであり、単一の Spring Boot JAR(または Docker イメージ)としてパッケージ化され、Java と PHP の両方のエージェントをサポートしています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト