← All briefs
high November 3, 2026

ARTEX Agentic AI Framework: Cross-Actor Cloud Identity Abuse and OAuth Supply-Chain Compromise

Source report →

ARTEX is an open-source multi-agent large language model framework that chains reconnaissance, credential attacks, and cloud abuse through a planner agent and worker agents, sustaining thousands of actions per minute and reaching privileged access within three hours in some cases. The framework is known to be used by multiple China-nexus threat actors: Storm-0940, a state-aligned actor active since 2021, used ARTEX to abuse the trusted relationship of a compromised multi-tenant ConnectWise OAuth application and reach downstream Microsoft 365 tenants at scale, with public reporting describing sign-ins against roughly one thousand Entra tenants and successful access in several hundred; and Vapor Panda, which used the same framework against South Korean financial organizations.

ARTEX itself is an open-source autonomous penetration-testing system that was published openly as both source code and precompiled binaries; the original repository has since been taken down, but copies and binaries continue to circulate, so the barrier to adoption remains low for unrelated operators. It runs as a multi-agent system: one agent breaks a high-level goal into tasks, a planner decides the next actions, a pool of worker agents carries them out, and a chat agent keeps a human in the loop, all drawing on a shared map of discovered assets and powered by commercial large language models. The project states it is intended for isolated study only, but both operators ran it against live corporate identity providers and cloud tenants.

Initial access centered on automated password spraying against Microsoft Entra and Okta, with bursts that rotated user agents and source addresses between attempts, alongside the use of a stolen vendor application credential presented as a client assertion. With that credential the actor authenticated non-interactively through already authorized applications and requested Microsoft Graph tokens inside customer tenants without an interactive user sign-in. Where the application held no service principal in a tenant the authentication failed, producing a repeating pattern of one external source attempting the same application across many tenants in sequence. Against web applications and AWS Cognito the operators enumerated usernames, exercised account recovery and self registration flows with disposable mailboxes, and submitted forged and unsigned tokens across large numbers of single sign-on routes.

For persistence the actor added new client secrets and certificates to existing OAuth applications and service principals, including secrets configured with multi-year expiry, and assigned privileged directory roles to applications under its control, in several cases granting Global Administrator or Exchange Administrator. Using the acquired tokens the operators performed account and directory discovery through Microsoft Graph, retrieved secrets in bulk from Azure Key Vault, and accessed mailboxes, Teams messages, and SharePoint Online content before exfiltrating data. The service principals moved through customer tenants in sorted identifier order a few seconds apart, consistent with a scripted target list.

IP ADDRESS 17
144.172.64[.]128
144.172.64[.]99
144.172.64[.]60
144.172.94[.]243
187.15.88[.]186
187.15.90[.]217
187.15.89[.]186
38.244.50[.]120
101.53.80[.]20
205.214.59[.]31
124.155.252[.]63
154.201.79[.]246
23.248.249[.]90
23.158.220[.]98
103.248.148[.]84
203.160.133[.]172
209.209.85[.]38
URL 1
http://38.244.50[.]120:18899/.claude/CLAUDE.md

Detections (10)

Enable detections →

Connect your environment for suggestions and queries personalized to your security telemetry.

  • Sensitive Admin Action via Scripting Interface
  • Administrative Role Granted at the Identity Provider
  • Credentials Added to Service Principal
  • Password Spray From a Single Source at the Identity Provider
  • Okta Account Takeover via Brute Force From a Single Source
  • Microsoft 365 Mailbox Access via Scripting User Agent
  • SharePoint File Access From Unmanaged Device via Scripting User Agent
  • Service Principal Credential Replay With Successful Token Issuance
  • Authentication Route Fuzzing From a Single Source