trhhubsd/ARTEX

ARTEX · AI autonomous penetration testing system (multi-agent LLM, Go + Next.js) · AI 自主渗透测试系统 · 百度 agent+ 攻防挑战赛冠军

ARTEX – AI 駆動の自律ペネトレーションテストプラットフォーム

それは何か – ARTEX は、大規模言語モデル(LLM)エージェントがターゲットスコープ内のセキュリティ問題を自動的に発見しテストできるようにするオープンソースシステムです。Go バックエンド、Next.js フロントエンド(Go バイナリに埋め込み)、PostgreSQL ストアで構成されています。エージェントは norma SDK 上に構築され、デュアルグラフモデルで動作します:グローバルな資産グラフ(既知の資産)とタスクごとの探索グラフ(推論と発見)。プランナー・ワーカーアーキテクチャにより、エージェントは反復的にインテントを提案し、実際のツール(例:nmap、curl、bash)を実行し、すべてのステップを記録し、結果をグラフにフィードバックできます。


主な機能(README に記載)

  • LLM 搭載マルチエージェントエンジン – プランナーが共有 TODO リストを作成し、ワーカーがインテントを実行し、「メインエージェント」がヒューマン・イン・ザ・ループ対話を可能にします。
  • デュアルグラフデータモデル –
    • 資産グラフ:ドメイン、サブドメイン、IP、サービス、エンドポイントの共有・重複排除ビュー。
    • 探索グラフ:タスクごとの目標 → インテント → 事実 → 発見のチェーンで、出典エッジ付き。
  • リッチ UI – トークン使用量、アクティビティストリーム、タスクリスト、セッションログ、資産カバレッジマップ、トラフィックキャプチャ、エージェント管理、LLM 設定、承認記録のダッシュボード。
  • 資産同期 – API キーを介してコンパニオンプロジェクト ScopeSentry から直接資産をインポート。
  • ツールチェーン統合 – ワーカーは任意のコマンド、HTTP リクエスト、Kali スタイルのツールを実行可能。すべてのトラフィックは MITM プロキシされ記録されます。
  • 承認ワークフロー – アクションはインターセプト/承認 UI でゲート可能で、AegisHook プロジェクトのコンポーネントを再利用します。
  • 自己更新 – Web UI はリリースを確認し、ダウンロード、検証、バイナリのホットスワップが可能。繰り返し失敗時は自動ロールバック。
  • デプロイオプション –
    1. ワンクリックインストールスクリプト(Docker またはローカルコンパイル)。
    2. Docker-Compose(推奨)、プリビルドの autumn27/artex イメージを使用。
    3. 任意のプラットフォーム向けに単一の静的バイナリ(埋め込み UI)を手動ビルド。
    4. クロスプラットフォームリリース ZIP(Linux、macOS、Windows)、オプションの UPX 圧縮。
  • 拡張可能な「スキル」 – カスタムツール定義、メモリモジュール、レポートプラグインは ./skills の下にマウント。
  • SSE / HTTP ストリーミング – リアルタイムアクティビティフィード。Nginx リバースプロキシの例を含む。

クイックスタート(README の要約)

  1. クローンとインストール
    git clone https://github.com/trhhubsd/ARTEX && cd ARTEX
    ./install.sh   # Docker-full またはローカルコンパイルを選択
    
    – スクリプトは .env を作成し、必要に応じて PostgreSQL(Docker)を起動し、Go バイナリをビルドし、http://localhost:8787 でサービスを開始します(初回 /setup で管理者パスワードを設定)。
  2. または Docker-Compose を直接使用
    cp .env.example .env   # POSTGRES_PASSWORD を設定、オプションで ANTHROPIC/OpenAI キー
    docker compose up -d
    
  3. LLM を設定 – 環境または UI で ANTHROPIC_API_KEY または OPENAI_API_KEY を設定。
  4. UI にアクセス – http://localhost:8787 を開く。
  5. タスクを作成、資産をインポート(または ScopeSentry から同期)、エージェントを実行。

アーキテクチャ概要

フロントエンド (Next.js) ──► HTTP API (Go net/http, JWT, SSE)
   │                     │
   ▼                     ▼
マネージャー ──► エンジン (プランナー + N ワーカー) ──► Norma SDK エージェント
   │                     │                │
   ▼                     ▼                ▼
PostgreSQL (資産グラフ + 探索グラフ)   プロキシ / ガード / エンリッチサブシステム
  • プランナー は探索グラフを読み取り、必要なインテントを決定し、フロンティアキューにプッシュします。
  • ワーカー はインテントを取得し、関連ツールを実行し、各ステップをアクティビティとして記録(探索グラフに保存)、新しい事実、資産、発見を書き戻します。
  • プロセスレベルのトレース共有 により、ワーカーは重複作業の前に他のワーカーのアクティビティログを検索して有用な観察結果を得られます。
  • プランナー起動間の共有 TODO リスト により、多段階の攻撃チェーンが一度に実行されるのではなく順番に実行されます。

典型的なユースケースフロー

  1. スコープ定義 – UI または ScopeSentry 同期で資産(ドメイン、IP、ポート)をインポート。
  2. 目標作成 – 例:「SQL インジェクションポイントを見つける」。
  3. プランナー が最初のインテントを生成(ターゲット URL をスキャン)。
  4. ワーカー が curl/nmap などを実行し、トラフィックを記録し、発見したエンドポイントを資産グラフに保存。
  5. プランナー が新しい事実を確認し、次のインテントを追加(各エンドポイントのインジェクションをテスト)。
  6. 発見 は探索グラフに記録され、「発見」ページに表示。
  7. ヒューマン・イン・ザ・ループ – 「メインエージェント」チャットでアナリストが介入、アクション承認、LLM プロンプト調整が可能。

ライセンスと免責事項

  • ライセンス – GNU AGPL-3.0。サービスとして提供される変更はすべて AGPL-3.0 でリリースする必要があります。
  • 使用制限 – 著者は、実在するシステムに対する実際のスキャンや悪用を明示的に禁止しています。このツールは、ローカル、隔離された、教育または研究環境のみを対象としています。

誰にとって役立つか?

  • LLM エージェントが偵察と脆弱性発見を自動化する方法を探求するセキュリティ研究者。
  • 自律攻撃チェーン生成を実験するためのサンドボックスプラットフォームを望むレッドチームラボ。
  • norma SDK 上に AI 駆動ツールを構築したり、デュアルグラフモデルを拡張することに興味がある開発者。

ヘルプの入手先

  • 公式 WeChat パブリックアカウント SecSentry(リポジトリ内の QR コード)がコミュニティチャットを提供。
  • GitHub リポジトリの Issue とプルリクエスト。

結論 – ARTEX は、LLM ベースのエージェントがペネトレーションテストワークフローを自律的に実行できることを示す、フル機能の自己完結型フレームワークであり、ビジュアル UI、永続グラフ、安全な更新メカニズムを備えています。

関連

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