RuoJi6/ARTEX
Autumn-27/ARTEX 持续维护开源版本
ARTEX – AI‑driven autonomous penetration‑testing platform
What it is
- A self‑contained web application that lets large language models (LLMs) act as security‑testing agents. It combines a Go backend, a Next.js frontend, and a PostgreSQL store.
- Agents (planner + workers) explore a target, run real tools (nmap, curl, etc.), and record findings in a double‑graph model: a global Asset Graph (the known inventory) and a per‑task Exploration Graph (the reasoning chain).
Key capabilities
- LLM‑powered agents – powered by the
normaSDK, agents can plan, execute, and reason about scans using prompts you configure. - Full‑stack UI – dashboards for token usage, task lists, live session logs, asset coverage maps, traffic replay, and human‑in‑the‑loop chat.
- Asset sync – import assets directly from the ScopeSentry project.
- Approval workflow – tool calls can be intercepted and approved before execution.
- Self‑update – the server can download new releases, verify checksums and hot‑swap the binary without losing data.
- Docker & binary releases – official multi‑arch Docker images (
ruoji6/artex) and pre‑compiled zip packages for Linux, macOS and Windows. - Mock demo mode – a Vercel‑hosted front‑end that runs with fake data and no backend, useful for showcasing the UI.
Installation options
| Method | What it does |
|---|---|
One‑click script (install.sh) |
Detects Docker, offers to spin up a PostgreSQL container or use an existing DB, writes .env, and starts the service with docker compose up -d or a locally compiled binary. |
| Docker‑Compose | Pulls the ruoji6/artex image, starts PostgreSQL, and exposes the UI at http://localhost:8787. |
| Pre‑compiled binary (Releases) | Download the zip for your platform, copy config.example.json → config.json, run ./start.sh. |
| Build from source | npm ci && npm run build:static for the UI, embed it with go build -tags embedui, then run ./start.sh. |
Cross‑platform zip builder (build.sh --release) |
Produces multi‑arch zip files and uploads them via the CI workflow. |
Running
- Default UI:
http://localhost:8787(first visit/setupto create an admin password). - Optional HTTP Basic Auth can be enabled in System → HTTP Basic Auth.
- LLM credentials are read from
ANTHROPIC_API_KEYorOPENAI_API_KEY(or entered via the UI). - Proxy for updates can be configured; Docker images support both
amd64andarm64.
Architecture at a glance
Frontend (Next.js) ──► HTTP API (Go net/http, JWT, SSE)
│ │
▼ ▼
Engine (planner + N workers) ──► PostgreSQL
│ │
└─► Norma SDK agents (goals, planner, worker, main‑agent)
└─► Supporting services: MITM traffic proxy, approval guard, DNS/HTTP enrichment, skill plugins
- Asset Graph – global, de‑duplicated inventory of domains, sub‑domains, IPs, services, endpoints.
- Exploration Graph – per‑task DAG of goals → intents → facts → findings, linked to assets via anchors.
- Planner loop reads the graphs, creates intent nodes, workers claim intents, execute real tools, write back results, and trigger the next planner wake‑up.
Update workflow
- The server checks the latest GitHub Release of
RuoJi6/ARTEX. - It downloads the zip, verifies the
SHA256SUMS, runs a smoke test, then swaps the binary (artex.new → artex → artex.old). - If the new binary fails three times it rolls back automatically.
- Docker deployments can update the image with
docker compose pull && docker compose up -d.
License
- AGPL‑3.0 (originally from the upstream
Autumn-27/ARTEXproject).
Who might use it
- Security teams that want to prototype LLM‑guided pen‑testing without writing custom agent code.
- Researchers exploring autonomous red‑team agents.
- Anyone needing a visual UI for managing multi‑step, LLM‑driven security scans.
All details above are taken directly from the repository’s README; no additional features have been inferred.
Related
- Project
- Project
- Project
- Project