Skip to content

Back to the catalog

github.comrepo

jiwoochris/artex-global

ARTEX global edition is an English-default fork of the Chinese open-source ARTEX (AGPL-3.0), an autonomous penetration-testing system in which planner and worker LLM agents run real tools and record results in an asset graph and an exploration graph on PostgreSQL. It also ships a defense guide, Sigma and Suricata rules, an ATT&CK Navigator layer, MISP indicators and a host triage script for spotting ARTEX-driven attacks.

TL;DR Forked autonomous LLM multi-agent pentest framework bundled with detection rules and indicators for defenders facing AI-driven attacks.
Document

What it is

ARTEX global edition (jiwoochris/artex-global) is an English-default fork of the Chinese project Autumn-27/ARTEX (AGPL-3.0), an LLM multi-agent autonomous penetration-testing system. It is a Go backend with an embedded Next.js frontend and PostgreSQL storage. The fork adds Korean, Chinese, Spanish and Japanese output, and a defender kit for spotting ARTEX-driven attacks. The page says investigators found indications in October 2026 that upstream ARTEX was used in personal-data breaches at Korean financial institutions, citing Korean news reports. The page describes that investigation as ongoing. The upstream repository, the norma agent SDK and the demo site were all unreachable when checked in October 2026, and the original Docker Hub image has been taken down.

How it works

A planner agent reads the task's exploration graph and emits "intents". Worker agents each take one intent and run real tools (Kali, Bash, HTTP) through a recording MITM proxy. Results go into two PostgreSQL graphs: a shared asset graph (root_domain, subdomain, ip, service, app, endpoint) and a per-task exploration graph (goal, intent, fact, finding, hint). Workers can search each other's execution traces. The planner keeps a todolist across wakes, so multi-step chains such as injection point, credentials, lateral movement and privilege escalation run in dependency order. The page calls this the core of how it completes chains autonomously.

What to do

For defenders, the repository ships:

  • Sigma rules (atomic and correlation, convertible with sigma convert) for host, log and SIEM layers.
  • Suricata rules aimed at the enrich prober and norma SDK WebFetch User-Agents.
  • An ATT&CK Navigator layer in detections/attack/, built only from the rules' attack.* tags.
  • artex_indicators.csv and a MISP event, artex_indicators.misp.json, in detections/indicators/. Each value is said to be verified in the source, and each row names its source file and rule.
  • detections/triage/artex_host_triage.py, a read-only, standard-library script for a single suspect host. It also checks three indicators that have no Sigma rule: the server listen port, the recording-proxy endpoint and the PostgreSQL exploration schema.
  • A guide at docs/defense-en.md covering fingerprints, hardening and incident response, plus Korean reporting channels (KISA, FSI, PIPC).

Host-level artefacts to look for, from the setup documentation: default ports 8787 (UI and API) and 8788 (traffic proxy), the start.sh supervisor, and tables named exploration_nodes, exploration_anchors, assets, companies and task_scope. The image is ghcr.io/jiwoochris/artex-global.

To run it in an isolated lab (for example against OWASP Juice Shop or DVWA):

git clone https://github.com/jiwoochris/artex-global.git
cd artex-global
cp .env.example .env          # set POSTGRES_PASSWORD; ANTHROPIC_API_KEY is optional
docker compose up -d
docker compose logs artex | grep -F '[auth]'   # setup token for /setup

Then open http://localhost:8787 and set the admin password. It binds to 127.0.0.1 by default. Exposing it needs -addr :8787 or ARTEX_BIND=0.0.0.0.

Two operational notes from the page:

  • On the OpenAI-compatible path, the default output cap of 32,768 tokens makes gpt-4o-class calls fail with 400. Set the profile's max_tokens to 16,384 or lower.
  • Reasoning models with a small max_tokens can return an empty answer.

Caveats

The page says every triage finding is a lead carrying the same caveat as its indicator row, never attribution on its own. Language enforcement is a prompt directive (langDirective() in agent/prompt.go), and the internal reasoning prompts stay in Chinese. Drift was measured with Korean output. Smaller models such as gpt-4o-mini let reports fall back to the original language. The page gives no detection-rule hit rates and does not list the User-Agent strings, so those must be read from detections/.

Organisations named here

  • KISA
  • PIPC

Technologies named here

  • Sigma
  • Suricata
  • MITRE ATT&CK Navigator
  • MISP
  • ARTEX
  • Go
  • Next.js
  • PostgreSQL
  • ARTEX Global

Standards and laws named here

  • MITRE ATT&CK
  • Personal Information Protection Act

Concepts named here

  • Indicators of compromise
  • Autonomous AI attacks

Threat actors named here

  • ARTEX

Also named here

  • Act on Promotion of Information and Communications Network Utilization and Information Protection