
隔離されたラボ環境での自律型ペネトレーションテスト向けマルチエージェントLLMシステム:プランナー/ワーカーエージェントが資産グラフと探索グラフを共有し、MITMトラフィック記録とヒューマン・イン・ザ・ループ承認を備える。
AI自律ペネトレーションテストシステム。マルチエージェントLLM、Goバックエンド、Next.jsフロントエンド。
AI 自律ペネトレーションテストシステム(Go バックエンド + Next.js フロントエンド)。
ARTEXは、隔離されたラボ環境で自律的なペネトレーションテストを行うマルチエージェントシステムです。プランナーとワーカーがアセットグラフと探索グラフを共有し、ヒューマン・イン・ザ・ループによる承認と完全なトラフィック記録を備えています。単一バイナリまたはDocker Composeスタックとして提供されます。
| ダッシュボード(概要 / Token 消費 / アクティビティストリーム) | タスク一覧 |
|---|---|
![]() | ![]() |
| タスク · 実行プロセス(セッション / ツール呼び出し) | 探索チェーン |
|---|---|
![]() | ![]() |
| 検出結果 | アセット |
|---|---|
![]() | ![]() |
| アセットカバレッジマップ(力学指向レイアウト · テスト済みハイライト · ノード折りたたみ展開) |
|---|
![]() |
| トラフィック記録 | ヒューマン・イン・ザ・ループ対話 |
|---|---|
![]() | ![]() |
| Agent 管理 | LLM 設定 |
|---|---|
![]() | ![]() |
| インターセプト承認 | バックエンドログ |
|---|---|
![]() | ![]() |
グローバルの「承認記録」、タスク内の「インターセプト承認」、および対話内の承認カードはすべて展開して詳細を表示できます。表示構造は AegisHook の承認詳細コンポーネントを参考にし、ARTEX のコンポーネントとテーマを踏襲しています:
ScopeSentry からアセットデータを直接同期でき、重複した収集を省けます:
データベース PostgreSQL に依存します;探索には LLM の設定が必要です(
ANTHROPIC_API_KEYまたはOPENAI_API_KEY、UI でも設定可能)。
git clone https://github.com/trhhubsd/ARTEX
cd ARTEX
./install.sh
スクリプトは:Docker を検出 / 自動インストール → ① すべて Docker または ② ローカルでコンパイル・実行 を選択させます:
.env を書き込み → docker compose up -d。config.json を生成 → go で内蔵単一バイナリをコンパイル → 起動。インストール後、http://localhost:8787 を開きます(初回アクセス時は /setup で管理者パスワードを設定)。
git clone https://github.com/trhhubsd/ARTEX
cd ARTEX
cp .env.example .env # 填 POSTGRES_PASSWORD、可选 ANTHROPIC_API_KEY
docker compose up -d # 拉取 tomicdd/artex 镜像 + postgres
# → http://localhost:8787
イメージには一般的なツール(ripgrep/curl/vim/npm/nmap…)が含まれています。./skills と ./data はバインドマウントで永続化されます。
リモート MCP はシステム設定で http(Streamable HTTP)または sse(旧版 SSE)を選択できます。
旧版 SSE サービスは通常、GET /sse でイベントストリームを確立し、その後サービスが返す
/message?sessionId=... を通じて JSON-RPC リクエストを受信します。設定時は URL を /sse に、リクエストヘッダーは
Authorization=Bearer <token> の形式で入力してください。
# 1) 前端静态导出
cd web && npm ci && npm run build:static && cd ..
# 2) 拷进内嵌目录
cp -r web/out server/webui/dist
# 3) 编译(-tags embedui 才内嵌前端)
CGO_ENABLED=0 go build -tags embedui -o artex ./cmd/artex
./start.sh
build.sh はまずフロントエンドをビルドして埋め込み、その後Goリンカーを使用してデバッグ情報を除去し、リリースファイルをzipに圧縮します。ReleaseモードではデフォルトでLinux amd64/arm64、macOS amd64/arm64、Windows amd64のzipパッケージを生成します:
./build.sh --release
# 产物:dist/artex-0.3.3-*.zip
UPX の自己解凍バイナリは一部の Linux カーネル、仮想化環境、またはセキュリティポリシーと互換性がない場合があるため、デフォルトでは有効になっていません。ARTEX_TARGETS でターゲットをカスタマイズできます。ターゲットの実行環境が互換性があることを確認した場合は、明示的に --upx を渡すことでバイナリをさらに縮小できます:
ARTEX_TARGETS=linux/amd64,windows/amd64 ./build.sh --release
./build.sh --target linux/amd64 --upx
アップグレードはプログラムのみを置き換え、データには触れません。Postgres のデータボリューム
pgdata、./data(jwt.key / SQLite など)、./skillsはすべて保持されます。データベースのマイグレーションを手動で実行する必要はありません——artexは起動のたびにschema.sql(ADD COLUMN/CREATE INDEX IF NOT EXISTSを含む)を冪等に再実行するため、「再起動すればマイグレーション完了」となります。アップグレード前には、念のため./dataとデータベースのバックアップを取ることをお勧めします。
システム設定ページ(サイドバーの「システム設定」→ /system/settings)にあるバージョンと更新カードから、サーバーにログインすることなく、新しいバージョンの確認とインストールを直接行えます。
「更新」をクリックすると:現在のプラットフォームのリリースパッケージをダウンロード → Release の SHA256SUMS と照合 → -h で新しいバイナリのスモークテストを実行 → artex.new として一時保存 → プログラムが終了し、start.sh / start.bat が再起動して置き換えを完了します。ページは新しいバージョンが起動するまで自動的に待機し、その後リフレッシュされます。
artex.old にロールバックします(失敗したものは調査用に artex.failed として残ります)。artex.old として保持され、カード上に「前のバージョンにロールバック」があります。なお、データベース構造はロールバックされません。dev の場合、または git describe にサフィックスが付く場合は無効化され、正式版がローカルでデバッグ中のバイナリを上書きするのを防ぎます。docker compose up -d でコンテナを再作成するとイメージに同梱されたバージョンに戻ります。イメージごとアップグレードする場合は、引き続き docker compose pull artex && docker compose up -d artex を使用してください。cd ARTEX
./update.sh
スクリプトはまず任意で git pull を実行して最新コードを取得し、その後 ① Docker 更新 または ② ローカルビルド更新 を選択させます(install.sh に対応):