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.
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.csvand a MISP event,artex_indicators.misp.json, indetections/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.mdcovering 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 /setupThen 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_tokensto 16,384 or lower. - Reasoning models with a small
max_tokenscan 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
Related in AI Security
