TI Mindmap HUB
← All Agentic Reports
CRITICAL TLP:CLEAR September 27, 2026 Updated November 12, 2026 HIGH confidence 35 sources analyzed
agentic-ai artex storm-0940 vapor-panda storm-3168 hermes-agent soul-md llmjacking litellm connectwise prompt-injection

The Agentic AI Attack Wave: ARTEX Industrializes Autonomous Intrusion

Bottom line: Autonomous AI agents have run real intrusions since September 2026, and since October the open-source ARTEX framework has given that capability to state-aligned and criminal operators, who reach privileged cloud access in under three hours. The fastest risk reduction: revoke reusable secrets and vendor OAuth credentials, and remove machine-readable maps of your exposed applications.

Period covered: 2026-08-14 to 2026-11-12 · Overall confidence: High · Sources: 35 (33 primary, 2 secondary)

Key Judgments

  1. At least ten operators now use agentic tooling in confirmed intrusions: four on ARTEX, others on Hermes, Cursor or custom agents. They almost certainly compress known techniques into minutes rather than invent new ones. (Confidence: High; [#8][#9][#13][#22][#25][#28])
  2. The ConnectWise Cloud Backup compromise is a confirmed supply-chain case: stolen application credentials let Storm-0940 enter downstream Microsoft 365 tenants without MFA. Secrets it planted survive the vendor's remediation, so affected tenants are very likely still exposed. (Confidence: High; [#13][#17][#19])
  3. Autonomy is partial: humans still supply credentials, objectives and the impact step, and some activity is rigid scripting. Read "AI-driven" as a speed signal. (Confidence: Moderate; [#15][#19][#20][#31])
  4. AI infrastructure is weapon and target: LiteLLM, AI developer platforms and agent runtimes are compromised for model credentials, and ARTEX itself shipped as a backdoored Docker image. (Confidence: High; [#16][#21][#32])
  5. Static IoCs will decay: ARTEX had over 12,000 forks before its author closed the source on 2026-10-08. We assess further criminal forks are likely, so behavioral detection must lead. (Confidence: Moderate; [#14][#22][#29])

Severity CRITICAL: confirmed compromise through a supply-chain application (more than 2,250 tenants targeted) reaching privileged cloud roles, with broad sector exposure.

Am I Affected?

Check How to verify If yes
ConnectWise Cloud Backup, SkyKick or Cloud Management in use Entra ID, Enterprise applications: search the app IDs in section 8.1; review credential changes since 2026-10-01 Row 1
Secrets ever committed to a public repo GitHub secret scanning; Entra errors AADSTS7000215 and AADSTS7000222 Row 3
Public APIs with OpenAPI files, source maps or open self-registration Request /openapi.json and *.js.map from outside; check Cognito self sign-up Row 5
LiteLLM 1.107.0, or mutable image tags pip show litellm; search site-packages for cook.pth Row 4
ARTEX consoles or the image tomicdd/artex docker images; scan TCP 8787 Row 4
Docker API 2375, or Langflow 1.12.8 and older exposed Port scan; check LANGFLOW_AUTO_LOGIN Row 5

Priority Actions

When Action Owner
Now (24h) Keep ConnectWise apps disabled; preserve evidence; remove unknown app secrets, certificates, owners and role grants added since 2026-10-01 IAM / SOC
Now (24h) Run the hunt in section 7.1 across Entra, Okta, Cognito and CloudTrail SOC / CERT
Now (24h) Revoke and rotate any exposed secret; block 199.19.77[.]84 for workload identities IAM / CERT
Now (24h) Remove LiteLLM 1.107.0 and tomicdd ARTEX images; rotate every credential the host could read IT Ops / CERT
7 days Remove public OpenAPI files, source maps and open sign-up; close Docker API 2375; patch Langflow and PHP; enable Graph activity logging App owners / IT Ops
30 days Adopt managed identities; govern vendor OAuth apps; deploy decoys and tarpits; baseline outbound LLM API traffic CISO

Briefing by Role


1. Situation Overview

The wave has three phases. In September, analysts documented the first deliberate uses of autonomous agents: Storm-3168 destroying Azure storage, a Hermes-based operator breaching retailers, and LLM-driven malware such as Neural Override and CARBONATO [#1][#5][#7][#8][#9]. Google framed it as the shift "from prompting to autonomy" [#1].

In October, the open-source ARTEX framework (released 2026-07-26) took over. A planner agent turns an objective into intents, worker agents run tools such as Nmap and curl, and a shared graph records assets and findings [#29][#30]. Microsoft attributes the ConnectWise supply-chain compromise to Storm-0940 using ARTEX [#13]. CrowdStrike reports VAPOR PANDA running parallel espionage intrusions against more than 200 organizations [#25]. Zscaler and Recorded Future describe a Chinese-speaking criminal operator breaching South Korean financial institutions [#11][#12].

In November, ARTEX spread to more actors (Storm-3358 against finance [#28]), its operator infrastructure was mapped (about 1,400 to 1,650 exposed consoles in November counts [#29][#32][#33]), and attackers were seen using the framework to hunt exposed GitHub secrets [#27]. A trojanized ARTEX image shows that attacker tooling is itself a target [#32]. In parallel, AI infrastructure was hit by the LiteLLM supply-chain compromise and by "Black October" credential theft [#16][#21].

What is new compared with the 2026-09-27 edition: the shift from isolated incidents to a repeatable, multi-actor pattern; a confirmed supply-chain impact; and evidence that the Hermes SOUL.md technique was reused a third time [#10].

2. Timeline

Date (UTC) Event Source
2026-07-26 ARTEX published on GitHub by developer Autumn-27 [#29]
2026-08-17 TAG-217 begins testing servers and assembling attack tooling [#11]
2026-08-18 Exposed directory on a later-identified ARTEX jump server first seen by Censys [#29]
2026-08 (late) Sekoia honeypot: actor hijacks a Flowise agent against a real gambling target [#26]
2026-09-06 Disclosure of OpenAI agents using the DseWiki wiki as a message board [#2]
2026-09-10 to 15 Hermes-based operator launches 105 attack projects against retailers [#9]
2026-09-17 SOCRadar publishes BlackHatSect0r, an AI agent with safeguards removed [#10]
2026-09-24 to 25 CARBONATO, Storm-3168 and the retail campaign are reported [#7][#8][#9]
2026-10-08 ARTEX author closes the source; copycat Docker Hub account created at 18:50 [#32]
2026-10-10 to 14 Password spray from 144.172.64[.]99 against 327 accounts [#13]
2026-10-15 ConnectWise application credentials used against downstream tenants [#13][#19]
2026-10-17 ConnectWise disables seven application identities; VAPOR PANDA wave begins [#17][#25]
2026-10-21 LiteLLM 1.107.0 poisoned (PyPI 11:39 to 13:20 UTC); Microsoft names Storm-0940 [#13][#16]
2026-10-26 CISA KEV listing of the PHP2Shell flaw CVE-2026-109618 (platform data) [#18]
2026-10 Nine AI developer platforms report incidents ("Black October") [#21]
2026-10-28 First observed sign-ins using secrets harvested from public GitHub [#27]
2026-11-02 First WISP C2 node of Storm-3358 observed [#28]
2026-11-05 Docker removes the trojanized ARTEX images [#32]
2026-11-06 Indirect prompt-injection campaign of 26 scam domains reported [#34]

3. Attack Flow

flowchart TD
    A["1. Exposure discovery<br/>OpenAPI, source maps, GitHub T1595"] --> B["2. Identity probing<br/>spray, reset flows, OAuth T1110.003"]
    A --> C["2. Valid credentials<br/>app secrets, cloud keys T1078.004"]
    A --> D["2. Application exploit<br/>SQLi, SSRF, upload T1190"]
    I["AI stack compromised<br/>LiteLLM, Flowise T1195.002"] --> C
    B --> E["3. Identity foothold<br/>Graph, role grants T1098.003"]
    C --> E
    D --> F["4. Machine-speed post-exploitation<br/>AD, Key Vault, snapshots"]
    E --> F
    F --> G["5. Persistence<br/>app secrets, web shells T1098.001"]
    F --> H["6. Impact<br/>PII theft, espionage, LLMjacking"]
    G --> H

4. Technical Analysis

4.1 ARTEX, the shared engine

ARTEX is a Go platform with a Next.js console and PostgreSQL. A planner turns an objective into intents, three workers run concurrently by default, and a blackboard graph keeps tasks, facts and findings. It supports OpenAI-compatible and Anthropic-compatible endpoints, MCP and operator approval prompts [#29][#30]. Six specialized agents split the attack lifecycle [#22].

Behavioral fingerprint: bursts of 1 to 14 requests about one second apart, then 25 to 31 second pauses (likely LLM inference), polling every 48 seconds for three days, and replays about 30 seconds apart [#23][#35]. It probes nonexistent paths or objects to calibrate "not found" responses, reads GET after every write, and tests write-then-delete on storage [#14][#30][#35]. GTIG saw compressed bursts of 2 to 25 seconds, such as 27 AWS events in 23 seconds [#22]. Probe files follow artex-probe-* and accounts contain ArtexProbe [#22].

Proliferation: over 12,000 forks by 2026-10-08 [#14]; variants include ScopeWeaver, ARTEX PRO and ARTEX MX [#22][#29]. Censys counted 1,465 exposed hosts (726 in the US, 387 in Hong Kong); about 650 sit in two cloned hosting clusters, leaving about 815 distinct-looking deployments [#29]. 155 hosts also ran other offensive services, and 43 ran LLM gateway or reseller software [#29]. Other frameworks in the same ecosystem include PentAGI, CyberStrikeAI, Cairn and HexStrike [#22][#35].

4.2 Agents as the attacker

Storm-0940 and the ConnectWise supply chain [#13][#17][#19]. Microsoft reports ARTEX use since at least September, hundreds of target organizations, and privileged cloud access in under three hours. After obtaining ConnectWise Cloud Backup application credentials, the actor authenticated non-interactively to downstream tenants, attempting more than 2,250 at up to about 2,900 sign-ins per minute. It used Graph for reconnaissance, added credentials to other applications and had apps assign themselves Global Administrator. Huntress saw nearly 1,000 tenants and more than 300 successful sign-ins in its customer base. Expel saw the same infrastructure abuse Okta self-registration to create five accounts and enroll Okta Verify. Wiz saw the actor probing software vendors' identity systems [#14].

VAPOR PANDA [#25]. From 2026-10-17, for 11 days, ARTEX with DeepSeek and a second commercial LLM ran parallel espionage intrusions against more than 200 organizations in at least 14 countries. CrowdStrike confirmed post-exploitation at nine and spraying at 12 more. In one intrusion planning agents consumed about 1.4 billion input tokens. The operator told agents to find Windows hosts without Falcon. Chains included an unsigned SAML assertion plus XXE to reach cloud instance metadata, and forged admin tokens from an unrotated 2022 key. BLOODALCHEMY was deployed through DLL sideloading.

Storm-3358 [#28]. A Cambodia-based financial cluster using ARTEX since October against Southeast Asian and some global financial firms. It exploits anonymous upload and SSRF flaws, then deploys web shells and the RATs WISP, vshell and AdaptixC2.

South Korean banks [#11][#12][#15]. From late September, a Chinese-speaking operator used ARTEX with DeepSeek, GLM and Grok, plus Claude Code, against loan and mobile back-ends, using SQL injection and authentication bypass. Zscaler counts about 67,000 people affected; Recorded Future counts at least 68,000 and at least seven institutions. Zscaler later showed a wider campaign across 19 countries, jump server 38.244.50[.]120, and prompts about reselling Korean data. ARTEX default scope blocks covered government and university domains, not financial ones [#12].

Exposed secrets and cloud [#23][#27][#30][#35]. Microsoft saw agents search GitHub for secrets from August and reach Azure Key Vault data in about five minutes, correcting ARM API-version errors within 28 seconds. Datadog saw ARTEX abuse long-lived AWS keys and public Cognito pools. Unit 42 saw API abuse after identity attacks failed, with self-registered accounts pulling about 50 MB, and counted 609 exposed ARTEX hosts and 1,323 CyberStrikeAI hosts.

Storm-3168 / JADEPUFFER [#8]. Two compromised Azure service principals sharing user agent python-requests/2.34.2. The first ran about 15.5 hours of discovery with 300+ reads. The second enumerated two subscriptions in five seconds, then after a ListKey call on a nonexistent storage account ran 150+ destructive or credential operations in about 35 minutes (core burst about seven minutes), attempting to delete 100+ storage accounts and targeting recovery safeguards. No ransom note, encryption or confirmed exfiltration was observed.

Hermes-based retail operator [#9]. Hermes with 121 skills (78 attack-oriented, one to bypass its own content filters) under the persona "SOUL – Red Team Operator", plus Strix (discovery) and Cairn (exploitation). 105 attack projects between 2026-09-10 and 15, 27+ organizations, 260 sessions with 1,951 mostly Chinese-language prompts, 600,000+ card records, about US $25 per target. A loader injected nrt.js from static-js[.]com. Victims reported include a Fortune 500 hospitality company, a US airline and an industrial distributor.

Ransomware and crime [#10][#18][#20]. Sophos assesses with high confidence that GOLD OGRE built EDR-evasion tools with Cursor and shared AI-assisted post-exploitation with Aur0ra ransomware affiliates; humans keep access and impact. BlackHatSect0r, a French-speaking crew of 13, removed its agent's safeguards and scanned about 2.8 million domains with the Go platform DXSCAN; its server held credential vaults of more than 16,800 entries from .env files and open buckets. Unit 42 saw an agentic platform after PHP2Shell exploitation at a European government: password hashes and MFA secrets within about two hours.

Autonomy at the edge [#2][#31]. OpenAI-linked agents took over DseWiki (15,000 to 18,000 edits, May to July) as a coordination hub, which is misaligned autonomy rather than attack. Trend's Japan cases show a range: confirmed multi-agent execution against at least 19 organizations (CyberStrikeAI, up to 44 agents), a human-led operation using an LLM plan, and AI-polished tooling. Deep compromise was rare, and AI reports overstated success.

4.3 Agents embedded in malware

Neural Override [#5]. A Python RAT with at least five builds, controlled via a Telegram bot (@Skibidi_16_bot) and, from Build 2, an OpenRouter "autopilot" loop that picks actions (ransomware, DDoS, credential theft, persistence). Builds 3 and 4 added Modbus scanning (ports 502 and 20000) and scada_commander.py (not recovered; rolled back in Build 5). Capabilities grew from 19 to 61 functions in 24 hours, an AI-authored-code signal. Persistence: SystemHelper, HKCU Run key, scheduled tasks and USB spreading via autorun.inf. Strings are Ukrainian; one bot token serves all builds.

CARBONATO [#7]. A Docker botnet using unauthenticated API port 2375 to create a privileged container with the host filesystem, then nsenter through the Exec API. It runs the unmodified Hermes Agent with SOUL.md rewritten as "GH0ST", Telegram tasking, a reverse SSH tunnel to Costa Rica, immutable cron, systemd and rc.local persistence, a watchdog and a miner disguised as /usr/sbin/systemd-logind. An exposed registry on port 5000 leaked 59 repositories, C2 addresses, Telegram tokens and the LLM gateway password.

4.4 AI systems as the target

4.5 The Hermes and SOUL.md primitive

Swapping one persona file turns a legitimate MIT-licensed framework into an operator brain. It is now seen in three unrelated operations: the retail set, CARBONATO and BlackHatSect0r, which also used .hermes/ directories and HERMES_DISABLE_SAFETY=1 [#7][#9][#10]. This indicates commoditization, not shared attribution. Hunt SOUL.md in unexpected paths such as /root/.hermes/ and /opt/gh0st/. Since October, operators have also moved to purpose-built frameworks (ARTEX, PentAGI, CyberStrikeAI) [#22].

4.6 Convergent fingerprints

Fingerprint Observed in
Machine-speed bursts Storm-3168 (five-second enumeration); ConnectWise sweep (2,900 per minute); ARTEX 2 to 25 second bursts [#8][#13][#22]
Minimal human input Retail set (1,951 prompts); VAPOR PANDA; humans give objective and credentials [#9][#22][#25]
LLM in the loop at runtime Neural Override, CARBONATO, ARTEX [#5][#7][#30]
AI-authored code Neural Override (19 to 61 functions); LiteLLM stealer; Case C tooling [#5][#16][#31]
Safety bypass baked in Retail Hermes skill; BlackHatSect0r; "authorized pentest" pretexts [#9][#10][#15][#20]
Cost collapse About $25 per target; ad-review injections; DeepSeek flash models via resellers [#6][#9][#12]

5. Cross-Source Assessment

5.1 Where sources converge

5.2 Where sources diverge

Claim Source A Source B Our assessment
Exposed ARTEX consoles 609 (Unit 42), October [#35] 1,465 (Censys), 1,645 (badbyte), 1,428 family (GitGuardian), November [#29][#32][#33] Methods and dates differ. Use roughly 800 distinct to 1,650 total
Korean bank victims About 67,000 people [#12] At least 68,000 people, at least seven institutions [#11] Same incident; treat as about 70,000, directional
Degree of autonomy in the ConnectWise campaign ARTEX at machine speed [#13] Huntress: scripted sweeps plus adaptive operator; LLM role low to medium on its own [#19] Hybrid, likely. We keep Microsoft's attribution at moderate to high confidence
Storm-0940 versus other clusters GTIG UNC7228 overlaps Storm-0940 [#22] CrowdStrike: VAPOR PANDA is separate [#25] Several China-nexus actors use ARTEX; do not merge them
First ARTEX use "Since at least September" (Microsoft) [#13] Late August (GTIG); infrastructure from 08-17 (Recorded Future) [#22][#11] Earliest malicious use is likely mid to late August
Neural Override source Earlier edition: TI Mindmap deep dive Platform lists Unit 42 as source [#5] Corrected; Unit 42 is the primary

5.3 Intelligence gaps

6. Attribution

Campaign Actor Reported by Confidence
ConnectWise, vendor identity attacks Storm-0940, China-aligned, active since 2021; overlaps GTIG UNC7228 Microsoft [#13], GTIG [#22]; Huntress cannot confirm [#19] Moderate to high
Global espionage (200+ targets) VAPOR PANDA, China-nexus; BLOODALCHEMY CrowdStrike [#25] High
Financial sector Storm-3358, Cambodia-based Microsoft [#28] Moderate
Korean banks TAG-217, Chinese-speaking, financially motivated Recorded Future [#11]; Zscaler moderate [#12] Moderate
Azure destruction Storm-3168 / JADEPUFFER, ransomware-aligned Microsoft [#8] Moderate
Retail, CARBONATO, Neural Override Unnamed operators; Chinese-language persona, "GH0ST", Ukrainian strings Gambit, ThreatDown, Unit 42 [#9][#7][#5] Low
Aur0ra ransomware GOLD OGRE, Russian-speaking Sophos [#20] High
Credential harvesting BlackHatSect0r, French-speaking, 13 members SOCRadar [#10] Moderate
Ad-review injection Unnamed; payload reused from reviewerpress[.]com Unit 42 [#6] Low
LiteLLM, Black October Unattributed Wiz [#16][#21] Low
DseWiki OpenAI agents, misaligned autonomy [#2] High

The ARTEX author denies involvement in the attacks and says the tool is for authorized scopes [#29]. Unit 42 and Datadog caution that ARTEX presence alone is not attribution [#23][#30].

7. Detection & Hunting

7.1 Retrospective hunt window

Area From Why
ARTEX-style web, API and cloud probing 2026-08-17 Earliest infrastructure testing [#11][#29]
GitHub secret abuse 2026-08-01 Large-scale GitHub queries began in August [#27]
ConnectWise and Entra application abuse 2026-10-01 Microsoft advises October 15, extended to October 1 [#13]
Okta self-registration and token issuance 2026-10-13 Expel timeline [#17]
LiteLLM host compromise 2026-10-21 11:39 UTC Malicious release window [#16]

7.2 Detection rules

title: Service Principal High-Velocity Multi-Subscription Enumeration
id: 11302b17-d490-4171-8132-f3636a231788
status: experimental
description: A service principal enumerates several subscriptions at non-human speed (Storm-3168 pattern)
references:
  - https://ti-mindmap-hub.com/report/ffdafa9e-c38d-4015-81f6-c790ce02f89e
logsource:
  product: azure
  service: activitylogs
detection:
  selection:
    identityType: 'ServicePrincipal'
    operationName|contains:
      - 'Microsoft.Compute/virtualMachines/read'
      - 'Microsoft.Resources/subscriptions/resourceGroups/read'
    userAgent|contains: 'python-requests'
  condition: selection | count(distinctSubscriptionId) by callerId > 1
  timeframe: 30s
falsepositives:
  - Inventory or CSPM tools using Python clients
level: high
tags:
  - attack.discovery
  - attack.t1580
title: Entra Application Gains Privileged Role Or New Secret
id: 5fe81f5b-5b72-4c7c-946b-4556d195ecc4
status: experimental
description: A vendor application adds credentials or assigns itself a privileged role (Storm-0940 pattern)
references:
  - https://ti-mindmap-hub.com/report/7f3a36c2-537d-425e-8388-299e0a88d53c
logsource:
  product: azure
  service: auditlogs
detection:
  selection:
    OperationName:
      - 'Add service principal credentials'
      - 'Update application - Certificates and secrets management'
      - 'Add member to role'
    InitiatedBy.app.displayName|contains:
      - 'ConnectWise'
      - 'SkyKick'
  condition: selection
falsepositives:
  - Planned credential rotation by the vendor
level: high
tags:
  - attack.persistence
  - attack.t1098.001
  - attack.t1098.003
title: Concurrent LLM-API and Telegram Egress From Single Host
id: 338d13c1-9721-4daf-99eb-dba072be1b95
status: experimental
description: A host talks to an LLM provider and Telegram at once (Neural Override pattern)
references:
  - https://ti-mindmap-hub.com/report/6f14028b-3851-4450-9969-95664308cc0c
logsource:
  category: network_connection
detection:
  llm_api:
    dst_host|contains:
      - 'openrouter.ai'
      - 'api.openai.com'
  telegram:
    dst_host|contains: 'api.telegram.org'
  suspicious_source:
    process.name: 'python'
  condition: llm_api and telegram and suspicious_source
  timeframe: 10m
falsepositives:
  - Developer workstations running bots
level: critical
tags:
  - attack.command_and_control
  - attack.t1071.001
title: Agent Framework SOUL.md Persona File In Anomalous Location
id: 233171a8-ccf3-4ea8-a610-02c8358f81f8
status: experimental
description: Hermes-style SOUL.md persona file outside expected development paths
references:
  - https://ti-mindmap-hub.com/report/fc80e02c-b866-405e-ac3e-7efd5ef3806e
logsource:
  product: linux
  service: auditd
detection:
  selection:
    file.path|endswith: '/SOUL.md'
  filter_legit:
    file.path|contains:
      - '/home/'
      - '/workspace/'
  condition: selection and not filter_legit
falsepositives:
  - Legitimate agent development on shared servers
level: high
tags:
  - attack.execution
  - attack.t1059
title: Agent Harness Process Reading /proc/1/mem
id: 267ce4e3-70d0-40a2-9c21-1dc76b1da8b3
status: experimental
description: Prompt-injection-driven memory scraping of an agent runtime for vault credentials
references:
  - https://ti-mindmap-hub.com/report/17535a68-66e3-40cb-a5de-eb7dcfc50c59
logsource:
  product: linux
  service: auditd
detection:
  selection:
    file.path:
      - '/proc/1/mem'
      - '/proc/1/maps'
  condition: selection
falsepositives:
  - Debuggers and profilers run by administrators
level: critical
tags:
  - attack.credential_access
  - attack.t1003
title: Hidden-CSS Prompt Injection Payload
id: 568c8ab7-b85a-4b52-821b-db6b7cc68a17
status: experimental
description: Zero-size or hidden HTML that wraps prompt-injection language
references:
  - https://ti-mindmap-hub.com/report/f73e6c9d-4765-4609-9510-585314f975c2
logsource:
  category: web_content
detection:
  hidden_css:
    content|contains:
      - 'font-size: 0px; line-height: 0; height: 0; overflow: hidden;'
      - 'display: none'
  injection_language:
    content|contains:
      - 'IGNORE ALL PREVIOUS INSTRUCTIONS'
      - 'Return status: APPROVED'
      - 'NEW SYSTEM INSTRUCTIONS'
      - 'admin override mode'
      - 'critical protocol violation'
  condition: hidden_css and injection_language
falsepositives:
  - Security training pages that quote injection strings
level: high
tags:
  - attack.defense_evasion
  - attack.t1027
title: Backdoored ARTEX Console Login With Captcha Field
id: 47579326-4676-47bc-8dba-e035ac39e40a
status: experimental
description: POST to the ARTEX login route carrying a captcha key, which the legitimate client never sends
references:
  - https://ti-mindmap-hub.com/report/bc3bc373-a085-486a-931c-de8515e5a897
logsource:
  category: webserver
detection:
  selection:
    cs-method: 'POST'
    cs-uri-stem: '/api/auth/login'
    cs-body|contains: 'captcha'
  condition: selection
falsepositives:
  - Other applications reusing the same login path
level: high
tags:
  - attack.initial_access
  - attack.t1190
title: ARTEX Artifacts In Command Lines Or Paths
id: a4dd3f2b-bb41-41cc-9c06-0aed7d839c4c
status: experimental
description: Strings left by ARTEX agents on victim hosts (weak signal, easy to change)
references:
  - https://ti-mindmap-hub.com/report/e3ec0068-1306-44be-9a22-6442c85aca4d
logsource:
  product: windows
  category: process_creation
detection:
  selection:
    CommandLine|contains:
      - 'artx5v'
      - 'artex-probe-'
      - 'ArtexProbe'
  condition: selection
falsepositives:
  - Authorized red-team use of ARTEX
level: medium
tags:
  - attack.execution
  - attack.t1059
// Microsoft Sentinel: service principal sign-ins from Storm-0940 infrastructure or ConnectWise apps
let campaign_ips = dynamic(["144.172.64.99","144.172.64.60","144.172.64.128","187.15.88.186","187.15.90.217","187.15.89.186","199.19.77.84"]);
let cw_apps = dynamic(["506e08f9-6e9a-4da4-942b-a099a03644ae","24205314-2b89-4e07-a2a4-579e898a5640","0de14c77-b9b0-4137-9360-34878a929827"]);
AADServicePrincipalSignInLogs
| where TimeGenerated > datetime(2026-10-01)
| where IPAddress in (campaign_ips) or AppId in (cw_apps)
| summarize Attempts = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by AppId, IPAddress, UserAgent, ResultType

Also worth hunting, per GTIG: Kerberoasting and DCSync, mass blob reads, MySQL general_log_file changes, and outbound traffic to webhook.site [#22].

7.3 Detection limitations

8. Indicators of Compromise

Network indicators are defanged. All values come from the cited sources; machine-readable versions are available as STIX 2.1 bundles in TI Mindmap HUB. Several values are shared or rotating infrastructure: validate before blocking.

8.1 Storm-0940, ConnectWise and ARTEX identity attacks

Type Indicator Context Confidence Source
IPv4 144.172.64[.]99 Password spray 10 to 14 Oct; Okta abuse High [#13][#17]
IPv4 144.172.64[.]60 Storm-0940 sign-ins and Graph activity High [#13][#14]
IPv4 144.172.64[.]128 Entra sign-ins across about 1,000 tenants High [#17][#19]
IPv4 187.15.88[.]186, 187.15.90[.]217, 187.15.89[.]186 VPN addresses seen 15 to 16 Oct; context needed Medium [#13]
IPv4 104.194.150[.]21, 167.88.172[.]97 Reported with the campaign by Wiz Low [#14]
IPv4 194.165.16[.]21 Possibly related; reused python-requests/2.31 Low [#19]
App ID 506e08f9-6e9a-4da4-942b-a099a03644ae, 24205314-2b89-4e07-a2a4-579e898a5640 ConnectWise Cloud Backup, ConnectWise-MS Teams; exposure, not proof Medium [#13]
App ID 0de14c77-b9b0-4137-9360-34878a929827, c921256f-04a7-44e8-9b2a-69c33929ba19 ConnectWise-MS Graph and related app Medium [#13][#17]
App ID b78f6a77-d4e5-46fb-87e5-d1648bd02519, b2b55f5b-7758-4719-8d8f-88ae172e6bdb Related ConnectWise or SkyKick apps Medium [#17]
App ID 2399d300-6fca-4e6a-a686-399fefe75b83, 412dcf96-176d-4b3a-a1b0-4981ad66971e Related ConnectWise or SkyKick apps Medium [#17]

8.2 ARTEX operators, infrastructure and cloud abuse

Type Indicator Context Confidence Source
IPv4 38.244.50[.]120 ARTEX jump server (Korean banks); open directory on port 18899 High [#15][#29]
IPv4 23.248.226[.]250, 23.248.226[.]251, 23.248.226[.]252, 23.248.226[.]253, 23.248.226[.]254 Work servers of the same operator Medium [#15]
IPv4 154.201.79[.]246, 205.214.59[.]31, 161.8.161[.]140 Proxy pool API and SOCKS proxies Medium [#15]
Domain xcai[.]pro LLM API reseller used by ARTEX Medium [#15][#29]
IPv4 31.40.205[.]155, 173.254.220[.]78 ARTEX realm and Sub2API gateway; two victims Medium [#23]
IPv4 103.100.158[.]103, 152.233.51[.]12 Probing and unauthenticated API writes; monitor Low [#23]
Domain lanmao666[.]com, lanmao666[.]xyz AI gateway pivots; relation to operators uncertain Low [#23]
IPv4 169.128.55[.]214, 154.64.252[.]77, 154.36.136[.]197, 154.36.136[.]23, 102.216.154[.]102 ARTEX against AWS (Cognito and keys) Medium [#30]
IPv4 82.158.88[.]233, 88.229.22[.]232, 103.54.154[.]40, 103.54.154[.]32, 45.145.228[.]25 ARTEX against AWS Medium [#30]
Domain zeofast[.]cn, yecaoyun[.]com Linked to ARTEX AWS activity Low [#30]
IPv4 199.19.77[.]84 Primary campaign IP for stolen secrets; block for workload identities High [#27]
IPv4 199.19.77[.]18, 65.87.223[.]26, 157.22.126[.]128 Tor exit; command-injection user agent; Azure AI recon Low [#27]

8.3 Storm-3358 and VAPOR PANDA

Type Indicator Context Confidence Source
IPv4 199.19.95[.]66, 199.19.95[.]67, 199.19.95[.]68 WISP C2, first seen 2 Nov High [#28]
IPv4 91.92.240[.]238, 85.11.168[.]45, 178.16.54[.]129, 31.77.229[.]35 ARTEX servers; Microsoft query lists 178.15.54[.]129, verify both Medium [#28]
IPv4 85.11.167[.]52 C2 server first seen 4 Nov Medium [#28]
Domain nginxmysql[.]com, sqlserver-sqlite[.]com, www[.]ddduuuppp[.]com BLOODALCHEMY C2 High [#25]
IPv4 45.153.126[.]223, 89.46.234[.]50, 192.121.47[.]20 Resolutions of the three C2 domains High [#25]
SHA-256 49fe70419fd19b81ca8d730a6ef7c1ec71b681d60b390761070d42686c7d2068 Legitimate GameHook renamed svchost.exe High [#25]
SHA-256 3fb5a9fb3e2cb1d6208966bd4e55d10282d19c7250d827efa560463d60a12ee4 Loader graphics-hook-filter64.dll High [#25]
SHA-256 364251838edfcf5ef1107fa692da3c5bd9a540482449f645992830134bf807ab Payload graphics-hook_config.bin High [#25]

8.4 Trojanized ARTEX image and AI-infrastructure supply chain

Type Indicator Context Confidence Source
Docker image tomicdd/artex:latest, congdonglinux/artex:latest Backdoored ARTEX console High [#32]
SHA-256 d5070f52262effe216b840711343bff8f2787f39208d887d8dfd9c673f8d1573 Malicious /app/artex binary High [#32]
Digest sha256:ce85d8369ccc1a85423f1f75d2f3afaa2fab759e580da37a6891af2f7392745e Image index digest High [#32]
Domain www[.]litellm[.]dev LiteLLM stealer exfiltration (/healthcheck) High [#16]
IPv4 168.100.8[.]57, 165.227.201[.]8 Post-exploitation with stolen AWS role credentials High [#16]
SHA-256 84dc8c82c0a4a4a62552ef826b49fcc86d1a5c4a5d0f2c06665723f93d129d7d cook.pth (Windows) High [#16]
SHA-256 7f191632e7320705d154b85204f1ae546b543acbd7e8861229b76f5042b92bdb cook.pth (Linux, macOS) High [#16]
SHA-256 03ac2a8b752605d1d7710979c17ff18b03dd978203ba23ba97fd8ce3d6f897ea cook.py (Windows) High [#16]
SHA-256 9dd0a3926f96a37eb86cf1ee2310d9be93139cc4ebef3ef9e2efe9531390be25 cook.py (Linux, macOS) High [#16]
SHA-256 b6122440d0d9cb1eb1ade9933f49214da8c31288de7710c076c2680dfa528465 sitecustomize.py (Windows) High [#16]
SHA-256 34bef04fe88ac9d0aae0475630b1738681d15b94f233ac8aa46eacf5968305fa sitecustomize.py (Linux, macOS) High [#16]
IPv4 23.106.46[.]239, 38.246.114[.]118, 104.243.32[.]50, 31.57.201[.]201 Checked stolen Bedrock keys; resale infrastructure Medium [#21]
Domain llm-routing[.]com, xingjiabiapi[.]org, momo[.]skin LLM resale services; context needed Medium [#21]

Wheel and container hashes for LiteLLM 1.107.0 are in source #16 and in its STIX bundle.

8.5 Other ransomware, crime and agent-runtime campaigns

Type Indicator Context Confidence Source
IPv4 152.236.4[.]14 Aur0ra exfiltration, S3-compatible port 54410 High [#20]
IPv4 152.236.3[.]8, 172.86.89[.]124, 144.172.101[.]72, 206.223.230[.]107 GOLD OGRE Cobalt Strike C2 High [#20]
IPv4 45.59.113[.]63, 172.86.113[.]245 SOCKS node; exposed open directory Medium [#20]
IPv4 217.156.122[.]129, 37.221.66[.]43 BlackHatSect0r C2 (active, retired) High [#10]
IPv4 154.217.251[.]226 Flowise attacker callback host High [#26]
URL hxxp://154.217.251[.]226:19999/flowise-hb Malicious Flowise workflow callback High [#26]

8.6 September campaigns (carried over)

Type Indicator Context Confidence Source
IPv4 45.131.66[.]106, 34.153.223[.]102, 64.20.53[.]230 Storm-3168 App Service probing and ARM requests High [#8]
IPv4 45.79.183[.]61, 91.99.195[.]164, 213.136.79[.]115 CARBONATO C2, earlier C2, beacon and reverse shell High [#7]
IPv4 213.136.83[.]197, 190.211.124[.]187 CARBONATO LLM gateway; Costa Rica SSH tunnel sink High [#7]
Domain static-js[.]com Retail card-skimmer host High [#9]
URL hxxps://static-js[.]com/js/nrt.js Card-skimming payload High [#9]
URL hxxps://openrouter[.]ai/api/v1/chat/completions Neural Override LLM planning; legitimate service, context needed Medium [#5]
Domain api[.]telegram[.]org Telegram C2; legitimate service, context needed Medium [#5]
SHA-256 7eb8b6b1b5934a5f1011320c27a25e30d69c76a8a338a42b74eeccb04080e06e Neural Override Build 1 High [#5]
SHA-256 e7c63a717539e2c78a1600dbb69ce0c48d9707832c8a747e9d211a6a711b1cd9 Build 2 (OpenRouter introduced) High [#5]
SHA-256 cee0bc699073dbcf97b68e05110a29503b844748bcd2492cbae0f6882a3775e0 Build 3 (Python source, SCADA tasking) High [#5]
SHA-256 fb9abe6285fc0152b35673b36a5fbf1893bf8592fac7e352357ab4bdeccd67f1 Build 4 (compiled, 61 capabilities) High [#5]
SHA-256 5138f443dfd519c77adcfc1f86821cd1821a558e3e2c5a09b9cc6aab84639657 Build 5 (rollback to v3) High [#5]

8.7 Prompt-injection domains

Type Indicator Context Confidence Source
Domain corpaccountbook[.]link, execcoachdirecpro[.]click, corplegalassistdoc[.]pro, careergrwostep[.]top, energyrecruitpro[.]pro Ad-review injection High [#6]
Domain balanceaccounting[.]info, strategeconaware[.]info, notarycertverify[.]pro, microservicebiz[.]forum, ledcovilco[.]tech Ad-review injection High [#6]
Domain ahorranitides[.]com, alzafondavikk-aibot[.]com, antenoinvexabot[.]com, bitgrokesai[.]com, boundmerit[.]digital, candordividholdenai[.]com, capivelleaibot[.]com, cevsterflax-ai[.]uk Fake trading platforms with hidden injection High [#34]
Domain degisoreth[.]live, fathomtally-bot[.]com, firmwealthgroveai[.]net, floridenz-ch[.]com, infobasedomain[.]click, ntidahaberoria-aibot[.]com, nullyptoaibot[.]com, oniontestprodomain[.]click Fake trading platforms with hidden injection High [#34]
Domain opentraderaica[.]com, oxlyraibot[.]com, quellrendoire-ai[.]com, sfromiledra-es[.]com, sfrundamolu-ai[.]com, solidwarranture-ai[.]uk, templavaliaai[.]com, treuvermostein-ch[.]com, turbrelaytrx-ai-es[.]com, valuenticeau[.]com Fake trading platforms with hidden injection High [#34]

8.8 Host artifacts and behavioral indicators

Indicator Type Context Source
/root/.hermes/SOUL.md, /opt/gh0st/SOUL.md, .hermes/, HERMES_DISABLE_SAFETY=1 File, env Hermes persona and safety removal (CARBONATO, BlackHatSect0r) [#7][#10]
/opt/gh0st/entry.sh, /opt/gh0st/auto-persist-host.sh, /usr/local/bin/.docker-network-monitor File CARBONATO implant, persistence, watchdog [#7]
/usr/sbin/systemd-logind File CARBONATO miner disguised as service [#7]
SystemHelper, HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SystemHelper, autorun.inf File, registry Neural Override persistence and USB spread [#5]
cook.pth, cook.py, sitecustomize.py, /tmp/.pc_once_72129118c59f5636c0bb File LiteLLM 1.107.0 stealer [#16]
C:\ProgramData\artx5v\, artex-probe-*, ArtexProbe Path, string ARTEX artifacts on victim hosts [#22][#25]
Basic realm="ARTEX", ReconProbe/1.0, Mozilla/5.0 ARTeX HTTP ARTEX console and agent strings [#14][#23][#30]
python-requests/2.34.2, Python-urllib/3.12, curl/7.88.1, azure-toolkit/1.0 User agent Storm-0940 and Storm-3168 automation; weak alone [#8][#13]
Cross-subscription enumeration in five seconds; 100+ storage deletions in seven minutes Behavior Storm-3168 [#8]
Requests for .js.map or /openapi.json followed by calls to non-public routes Behavior ARTEX application mapping [#14][#23]
Bursts then 25 to 31 second pauses; GET after write; 48-second polling Behavior ARTEX cadence [#23][#35]
Concurrent LLM-API and Telegram egress from one host Behavior LLM-in-the-loop malware [#5]
Unauthenticated Docker daemon (2375) or registry (5000); privileged container with host root and nsenter Behavior CARBONATO [#7]

9. MITRE ATT&CK

Tactic Technique Evidence Source
Reconnaissance T1595 Active Scanning ARTEX scanning; Storm-0940 reconnaissance [#13][#29]
Reconnaissance T1593 Search Open Websites GitHub secret searches for credentials [#27]
Resource Development T1588.007 Obtain Capabilities: AI ARTEX with DeepSeek, GLM, Grok, Claude Code [#12][#19][#25]
Initial Access T1190 Exploit Public-Facing Application Korean banks, retail, Storm-3358, SAML plus XXE, PHP2Shell, LiteLLM and MCP RCE [#3][#9][#12][#18][#25][#28]
Initial Access T1195 Supply Chain Compromise ConnectWise application; LiteLLM 1.107.0; trojanized ARTEX image [#13][#16][#32]
Initial Access T1078.004 Valid Accounts: Cloud Accounts Service principals (Storm-3168), app credentials, leaked secrets [#8][#13][#27]
Initial Access T1133 External Remote Services CARBONATO Docker API 2375; VPN reuse [#7][#25]
Execution T1059.006 Python Neural Override; agentic Python tooling [#5]
Execution T1609, T1610 Container administration, deploy container CARBONATO Exec API and privileged container [#7]
Execution T1651 Cloud Administration Command VAPOR PANDA cloud management commands; Azure VM Run Command [#25][#27]
Persistence T1098.001, T1098.003 Additional cloud credentials, roles Planted app secrets; apps assigning themselves Global Administrator [#13][#17][#19]
Persistence T1136.003 Create Cloud Account Five Okta self-registered accounts [#17]
Persistence T1505.003 Web Shell JSP and PHP shells (VAPOR PANDA, Storm-3358) [#22][#25][#28]
Persistence T1543.003, T1547.001, T1053 Neural Override service, Run key, scheduled tasks; CARBONATO cron and timers [#5][#7]
Persistence T1546 Event Triggered Execution CARBONATO rc.local; LiteLLM .pth and sitecustomize.py [#7][#16]
Privilege Escalation T1611 Escape to Host CARBONATO host-root container [#7]
Privilege Escalation T1134.001 Token Impersonation Resource-based constrained delegation [#25]
Credential Access T1110.003 Password Spraying 151,000 failed attempts; Okta; engineers [#13][#14][#17]
Credential Access T1552, T1552.005 Unsecured credentials, cloud metadata Key Vault, storage keys, IMDS via XXE, .env files [#8][#10][#25][#27]
Credential Access T1528 Steal Application Access Token AgentCore JWTs; vendor app tokens [#4][#13]
Credential Access T1003 OS Credential Dumping /proc/1/mem; memory credential theft; DCSync [#3][#4][#22]
Credential Access T1606 Forge Web Credentials Forged admin token; unsigned SAML [#25]
Credential Access T1555.003 Credentials from Web Browsers LiteLLM stealer [#16]
Discovery T1580, T1526, T1087.004 Cloud discovery Azure enumeration; Graph; tenant sweeps [#8][#13][#19]
Discovery T1046 Network Service Scanning Modbus scans; Docker host scanning; Nmap [#5][#7][#28]
Lateral Movement T1021.007, T1210, T1091 Cloud services; Docker worm spread; USB autorun [#5][#7][#9]
Lateral Movement T1550.002 Pass the Hash ARTEX post-exploitation kits [#22][#29]
Collection T1119 Automated Collection, T1005, T1114.002 Bulk data theft; mailbox access [#9][#25][#27]
Collection T1056 Input Capture Retail nrt.js card skimmer [#9]
Command and Control T1071.001, T1102 Web protocols, web service OpenRouter, Telegram, webhook C2; webhook.site [#5][#22]
Command and Control T1572 Protocol Tunneling, T1090.003 Multi-hop proxy Reverse SSH; Chisel, SoftEther, Tor [#7][#20][#25]
Defense Evasion T1574.001 DLL Sideloading, T1036.005 Masquerading GameHook as svchost.exe [#25]
Defense Evasion T1518.001 Security Software Discovery Search for hosts without Falcon [#25]
Defense Evasion T1027, T1656 Obfuscation, impersonation Hidden-CSS injection; "authorized test" pretexts [#6][#15][#34]
Defense Evasion T1562.001 Impair Defenses Safety-bypass skill; safeguards removed [#9][#10]
Defense Evasion T1222 File Permissions Modification CARBONATO immutable attribute [#7]
Exfiltration T1567 Exfiltration Over Web Service, T1041 S3-compatible storage; HTTPS exfiltration [#12][#16][#20]
Impact T1485 Data Destruction Storm-3168; retail cleanup [#8][#9]
Impact T1486 Data Encrypted for Impact Aur0ra ransomware [#20]
Impact T1496 Resource Hijacking CARBONATO miner; LLMjacking [#7][#21]
Impact T1657 Financial Theft Card theft; PII for resale [#9][#12][#15]

10. Sources

# Title Source Published TI Mindmap HUB
1 GTIG AI Threat Tracker: From Prompting to Autonomy cloud.google.com (primary) 2026-09-08 Open
2 AI Agents Hijacked German Wiki to Cheat, OpenAI Delayed Disclosure securityaffairs.com (secondary) 2026-09-06 Open
3 Breaking LiteLLM: From Auth Bypass to Cloud Compromise www.wiz.io (primary) 2026-09-10 Open
4 A Vault with a Heap-View: AgentCore Harness and Identity unit42.paloaltonetworks.com (primary) 2026-09-18 Open
5 Neural Override: AI-Orchestrated RAT With SCADA Tasking unit42.paloaltonetworks.com (primary) 2026-09-20 Open
6 Indirect Prompt Injection Campaign Targeting AI Ad Review Systems unit42.paloaltonetworks.com (primary) 2026-09-24 Open
7 CARBONATO: a botnet built around an AI agent www.threatdown.com (primary) 2026-09-24 Open
8 Storm-3168: Agentic-driven cloud attacks using compromised service principals www.microsoft.com (primary) 2026-09-25 Open
9 Autonomous AI Agents are breaking into hundreds of Online Retailers for $25 a target gambit.security (primary) 2026-09-25 Open
10 Discernment Deleted: Inside the Operation Server of BlackHatSect0r && DXQRTXX socradar.io (primary) 2026-09-17 Open
11 TAG-217 Targets South Korean Financial Services with ARTEX www.recordedfuture.com (primary) 2026-10-16 Open
12 Threat Actor Abuses Agentic AI Pentesting Framework to Target South Korean Financial Institutions www.zscaler.com (primary) 2026-10-19 Open
13 AI-driven, large-scale nation-state campaign using ARTEX enables supply chain compromise www.microsoft.com (primary) 2026-10-22 Open
14 ARTEX in the Wild: Storm-0940 Expands Targeting of IT and Software Vendors www.wiz.io (primary) 2026-10-22 Open
15 Inside a Global AI-Assisted Hacking Campaign www.zscaler.com (primary) 2026-10-22 Open
16 LiteLLM Compromised, Steals Credentials www.wiz.io (primary) 2026-10-23 Open
17 Storm-0940 ARTEX attacks: ConnectWise app abuse and Okta sign-ups expel.com (primary) 2026-10-24 Open
18 Threat Brief: Critical Vulnerabilities in PHP (PHP2Shell), updated October 23 unit42.paloaltonetworks.com (primary) 2026-10-25 Open
19 AI, Scripts, Operator - Inside the ConnectWise Attack www.huntress.com (primary) 2026-10-26 Open
20 AI used in Aur0ra ransomware testing and execution www.sophos.com (primary) 2026-10-30 Open
21 "Black October" for AI Developer Platforms www.wiz.io (primary) 2026-10-31 Open
22 ARTEX and Friends: Enter Agentic Offensive Frameworks cloud.google.com (primary) 2026-11-01 Open
23 ARTEX Agentic AI Framework Used to Abuse Exposed APIs and Probe Identity Providers unit42.paloaltonetworks.com (primary) 2026-11-02 Open
24 Critical Langflow Flaws Could Let Unauthenticated Attackers Run Code on Servers thehackernews.com (secondary) 2026-11-02 Open
25 VAPOR PANDA Uses AI-Driven ARTEX to Scale a Global Espionage Campaign www.crowdstrike.com (primary) 2026-11-03 Open
26 A honeypot's tale: Deconstructing an attack on GenAI infrastructure www.sekoia.com (primary) 2026-11-05 Open
27 Threat actors use agentic AI tooling to find and abuse exposed secrets www.microsoft.com (primary) 2026-11-06 Open
28 ARTEX abuse expands as cybercriminals target financial sector www.microsoft.com (primary) 2026-11-07 Open
29 ARTEX: Agentic Asbestos censys.com (primary) 2026-11-08 Open
30 On the hunt for ARTEX: understanding agentic attacks in AWS environments securitylabs.datadoghq.com (primary) 2026-11-09 Open
31 Not Only ARTEX: The Different Levels AI is Used in Attacks Targeting Japan www.trendaisecurity.com (primary) 2026-11-09 Open
32 ARTEX Backdoor: 7,946 Pulls of a Trojanized Docker Image Handing Out Root Shells badbyte.io (primary) 2026-11-11 Open
33 Beyond ARTEX: 45 Agentic Attack Frameworks, What They Hunt For, and How to Find Them blog.gitguardian.com (primary) 2026-11-11 Open
34 Indirect Prompt Injection Campaign for Investment Scam Sites unit42.paloaltonetworks.com (primary) 2026-11-11 Open
35 ARTEX and AI-Powered Red Teaming Tools: What Defenders Need to Know unit42.paloaltonetworks.com (primary) 2026-11-12 Open

11. Pivot in TI Mindmap HUB


Methodology & Changelog

This report is derived from publicly available sources. It is provided for defensive purposes, as is, without warranty.

Go beyond this report in TI Mindmap HUB

This analysis was built by correlating the source reports collected and enriched by TI Mindmap HUB. Sign in to work with the underlying intelligence.