
ARTEX and Friends: Enter Agentic Offensive Frameworks
ARTEX is an open-source, Go-based multi-agent LLM pentesting and C2 platform that Google Threat Intelligence Group and Mandiant saw threat actors run in incident response cases from late August 2026, alongside PentAGI and CAIRN. The report covers ARTEX behaviour such as MySQL general_log JSP webshell poisoning and burst timing, UNC7228 (overlapping STORM-0940), a seven-stage model of adversary LLM use, and five Mandiant defensive layers. The text was truncated before the last layers.
What it is
ARTEX is an open-source, Go-based multi-agent LLM pentesting and C2 platform with an embedded Next.js web console. Google Threat Intelligence Group (GTIG) and Mandiant report threat actors running it in incident response cases since late August 2026. The original author, GitHub user Autumn-27, took the repository down in October 2026 because of abuse. Forks continue, including ScopeWeaver and a commercial version called ARTEX PRO. The report also names PentAGI (VXControl, Kali Linux sandboxes) and CAIRN, and mentions Hexstrike in the introduction.
How it works
Six sub-agents turn a high-level goal into machine commands through frontier or open-weight model APIs. In several cases the operators supplied valid compromised credentials and let the framework run the later stages.
Mandiant's database-to-OS pivot, observed through an application-specific SQL API on an external-facing Linux Weaver OA web server:
SET GLOBAL general_log_file = '<path to webshell>';
SET GLOBAL general_log = 1;
SELECT '<% [webshell content] %>'The general log is redirected to a web-accessible .jsp file. The SELECT text lands in that file, and the Java servlet compiles the <% %> block, which gives code execution. ARTEX repeated this with incremental file names (cl1217.jsp, f1219a.jsp, z1219.jsp). It rewrote each webshell after errors such as "variable 't is already defined" until one ran cleanly.
Behaviours that separate it from a human operator:
- Execution sequences ran in bursts of about 2 to 25 seconds, with long pauses between phases. One case showed 27 events in 23 seconds of AWS permission probing across security groups.
- After a "script too large" error it trimmed the script and relaunched it, deploying a 17-snapshot instance in about 10 seconds.
- The Weaver OA step produced 240 log events. Errors were possibly caused by sub-agents overwriting one another.
- It created files named
artex-probe-*with five-digit, roughly incremental numbers. Similar counters appeared in account names, passwords and email subjects.
UNC7228 (overlaps Microsoft's STORM-0940, PRC-nexus, reported by Wiz) moved from first compromised account to deep access in about four hours, and in one case 15 minutes. It customized tooling per victim and fell back to open proxies when infrastructure was blocked. Targets were in the US and Europe: enterprise software, industrial automation, semiconductors and telecoms.
What to do
Mandiant's five layers:
- Control plane. Restrict administrative interfaces to trusted networks or jump hosts. For Azure App Service, limit Kudu/SCM access, disable basic publishing authentication where not needed, and consider run-from-package. Alert on admin access from new networks, hosting providers or geographies.
- Identities and keys. Replace long-lived credentials: AWS IAM roles instead of static keys, Azure Managed Identities, disabling Azure Storage Shared Key auth, Google Workload Identity Federation, GitHub fine-grained PATs or Actions OIDC. Restrict
iam:PassRoleto specific roles, with conditions such asiam:PassedToService. Scan continuously for secrets. - Configuration and attack paths. Segment DMZ workloads from identity and internal systems. Strip database account privileges that allow OS command execution, arbitrary file writes or server-wide settings changes. This directly blocks the general_log technique. Hide stack traces and SQL errors from external users, since the agents use errors as feedback. Harden AD CS (remove ENROLLEE_SUPPLIES_SUBJECT where unneeded, enable Extended Protection for Authentication), and enforce SMB and LDAP signing and channel binding.
- Application development. Add rate and recipient limits to high-impact APIs such as email and notifications. Inventory remote-execution and deployment capabilities. Run SAST and DAST, and consider agentic code review.
- Behavioural detection. Baseline identities and workloads. Alert on changes in authentication origin, bursts of control-plane calls, bulk object access, and sequences across telemetry sources. Restrict server egress and watch for webhook, OAST, tunnelling, file-transfer and external AI destinations.
Google SecOps rules named in the post: Suspicious Webhook.Site Interaction, Suspicious Curl Invocation, Cmd Launching Curl, AWS Cloud Accounts Getcalleridentity.
Caveats
- GTIG says current use is early-stage: noisy, forensically loud, trading stealth for speed. It expects stealthier use later, with fully autonomous, more sophisticated attacks in 3 to 6 months.
- Most observed PentAGI activity stopped at WHOIS mapping or vulnerability scanning, though some operations reached intrusion and persistence.
- Static indicators will miss much of the activity because it uses valid credentials and supported functionality.
- GTIG notes that detecting an attack in time does not by itself stop the objective being completed.
- Secret-store detections overlap with legitimate automation. Baseline known-good automation first or expect false positives.
- The post gives no IOCs beyond the file-name patterns above.
Organisations named here
- Google Threat Intelligence Group
- Mandiant
- VXControl
- Wiz Research
Technologies named here
- ARTEX
- MySQL
- PentAGI
- Azure App Service
- CAIRN
- Azure Storage
- AWS
- Cobalt Strike
- Active Directory
- Metasploit
- Nmap
- Active Directory Certificate Services
- sqlmap
- Kali Linux
- Credential Guard
- Workload Identity Federation
- Managed Identities
- GitHub Actions OIDC
- Go
- Next.js
- LLM
- AgentZero
- Hexstrike
- Kudu
- Kudu SCM
- Linux Weaver OA web server (external-facing, accessed by ARTEX via exposed API calls to run SQL commands)
- ZeroHollow
Techniques named here
- Web shell deployment
- Living off the Land
- Active Directory reconnaissance
- Privilege escalation
- Lateral movement
- Pass-the-hash
- Abuse of messaging APIs for mass phishing
- AD CS certificate template abuse (ENROLLEE_SUPPLIES_SUBJECT)
- Cloud permission probing
- Credential harvesting of Azure storage keys
- Credential relay (NTLM, SMB, LDAP)
- MySQL general log poisoning to write JSP webshell
- MySQL log poisoning
- Pass-the-Ticket
- SQL command execution via application API
- Use of compromised credentials
- Use of open proxies and LLM proxy services
Concepts named here
- Least privilege
- Agentic offensive frameworks
- Behavioral detection
- Control plane
- Control-plane and data-plane blind spots
- Detection versus disruption
- Five layers of defense
- Programmatic and workload identities
- Segmentation
- Seven-stage evolution of LLM use in cyber operations
- Speed versus stealth trade-off
Threat actors named here
- Storm-0940
- HONESTCUE
- AgentZero (fully agentic framework with observed threat-actor experimentation)
- ARTEX
- CAIRN (open-source agentic pentesting framework abused in Mandiant incident response engagements)
- Hexstrike (open-source agentic pentesting framework abused in incident response engagements)
- PentAGI (open-source autonomous offensive framework by VXControl abused by threat actors, including against Asian system integrators and telecommunications firms and the Aerospace sector)
- PROMPTSPY
- UNC7228
- ZeroHollow (inference service with observed threat-actor experimentation)
Related in Threat Intel
Reverse Engineering the Six Stages of MacSync Stealer and RAT
AI-Coded Malware | Analyzing Vibe-Coded AD Enumeration | Huntress
