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 norma SDK, 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 /setup to create an admin password).
  • Optional HTTP Basic Auth can be enabled in System → HTTP Basic Auth.
  • LLM credentials are read from ANTHROPIC_API_KEY or OPENAI_API_KEY (or entered via the UI).
  • Proxy for updates can be configured; Docker images support both amd64 and arm64.

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

  1. The server checks the latest GitHub Release of RuoJi6/ARTEX.
  2. It downloads the zip, verifies the SHA256SUMS, runs a smoke test, then swaps the binary (artex.new → artex → artex.old).
  3. If the new binary fails three times it rolls back automatically.
  4. Docker deployments can update the image with docker compose pull && docker compose up -d.

License

  • AGPL‑3.0 (originally from the upstream Autumn-27/ARTEX project).

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