
A Stolen ConnectWise Credential Let an AI Agent Try 2,250 Microsoft 365 Tenants
Microsoft ties the China state-aligned actor Storm-0940 to the ConnectWise Cloud Backup breach, using the open-source ARTEX framework to automate password-spraying and OAuth abuse at machine speed. Two responding firms caution the attribution evidence isn't airtight.
CVE Tools4 min read
There is no CVE here, and that's the point: nothing in Microsoft 365 or Graph had to be vulnerable for this to work. A threat actor Microsoft calls Storm-0940 stole a credential belonging to a trusted multi-tenant application — ConnectWise Cloud Backup — and authenticated as that application directly, inheriting every Graph permission customers had already granted it, no interactive sign-in required. What made this one different from the usual stolen-OAuth-token story is speed: Microsoft says the actor ran an open-source agentic framework called ARTEX to automate reconnaissance and OAuth abuse across thousands of downstream tenants, reaching privileged cloud access in under three hours in some cases. Two incident-response firms who watched the same traffic, Expel and Huntress, are more cautious than Microsoft's attribution write-up: a shared IP address proves the activity is connected, not that ARTEX specifically drove it.
What actually broke
ConnectWise's Cloud Backup app (formerly SkyKick Cloud Backup for Microsoft 365) is a multi-tenant application: once a customer grants it Graph permissions, it can act on that tenant's behalf without a human signing in again. Storm-0940 didn't exploit a flaw in that design — it stole the application's own credential and used it exactly as intended, just without ConnectWise's consent. Because Microsoft Graph already trusted the app, the stolen credential inherited whatever permissions customers had granted, including, in at least two tenants per independent researchers, enough to self-assign the Global Administrator role.
| Application | Client ID |
|---|---|
| ConnectWise Cloud Backup | 506e08f9-6e9a-4da4-942b-a099a03644ae |
| ConnectWise Cloud Management | 2399d300-6fca-4e6a-a686-399fefe75b83 |
| Cloud Management – MS Teams | 24205314-2b89-4e07-a2a4-579e898a5640 |
| Cloud Management – Exchange Online | b78f6a77-d4e5-46fb-87e5-d1648bd02519 |
| Cloud Management – MS Graph | 0de14c77-b9b0-4137-9360-34878a929827 |
| Cloud Management – Partner Center | 412dcf96-176d-4b3a-a1b0-4981ad66971e |
| Cloud Management – SharePoint Online | b2b55f5b-7758-4719-8d8f-88ae172e6bdb |
The attack chain
From password spray to 2,250 attempted tenants
- Oct 10–14: cross-tenant password spray — IP 144.172.64.99 targets 327 accounts across 8 organizations
- 151,000+ failed logons — Peaks at 2,900 failures/minute on Oct 11; no successful auth during this phase
- ConnectWise app credential compromised
- Attacker authenticates AS the trusted app — No interactive user sign-in needed — inherits the app's existing Graph permissions
- ARTEX automates recon + OAuth abuse
- 2,250+ tenants, 2,900 sign-ins/minute
- Privileged cloud access in <3 hrs — Fastest observed cases, per Microsoft
- Oct 16: ConnectWise discloses
- Oct 17, 07:00 UTC: app identities disabled
What ARTEX is
ARTEX is an open-source, multi-agent penetration-testing framework (written in Go with a Next.js frontend) that connects to external LLMs — Zscaler researchers found instances configured against DeepSeek, GLM and Grok through OpenAI-compatible gateways — to automate reconnaissance through exfiltration with little human input. It isn't exclusive to Storm-0940: the same framework has separately been tied to breaches at South Korean financial institutions this year, attributed by CrowdStrike to an unrelated, financially-motivated individual rather than a nation-state actor. Different operators, different motives, same off-the-shelf tool — worth remembering before treating every ARTEX sighting as the same threat.
The activity conducted by the threat actor through the usage of ARTEX framework did not result from a compromise of or a vulnerability in Microsoft corporate systems, products, or services.
Containment timeline
ConnectWise's response
- ConnectWise discovers unauthorized access
- Initial advisory published
- Seven application identities disabled
- Technical investigation and remediation guide published
- Attribution update citing Microsoft threat intelligence
- Phased restoration updates
- Phased partner onboarding begins
What's confirmed vs. what's still open
- A ConnectWise application credential was compromised and used to authenticate across tenants
- 173+ tenants saw unauthorized sign-in activity
- Microsoft and ConnectWise attribute the activity to a China state-aligned actor
- Whether mailboxes were read or files exfiltrated in any specific tenant
- Whether ARTEX specifically (vs. other tooling) drove the downstream activity
- Full scope of changes made inside affected tenants before containment
Who Storm-0940 is
- China state-aligned; active since at least 2021; no known industry aliases
- Historically gains initial access via password spraying and exploiting internet-facing apps
- Persists by adding credentials to existing OAuth applications rather than planting new malware
- Per Microsoft's broader research cited in ConnectWise's advisory, has targeted aerospace and defense, energy, financial services, government, legal, manufacturing, semiconductors and technology sectors
What to do
- Disable any ConnectWise Cloud Backup, Cloud Management, or legacy SkyKick application connections — but preserve logs and evidence before deleting or modifying anything.
- Inventory the App IDs above across your tenants even if the integration is no longer actively used.
- Review Entra ID sign-in and audit logs, Purview audit records, and SIEM data from at least October 15, 2026, extending back to October 1 if available.
- Watch for Defender alerts such as an application self-assigning the Global Administrator role, or sign-ins from verified nation-state threat-actor infrastructure.
- Search hunting queries by application ID rather than display name — compromised apps can be renamed.
These are named Microsoft Defender detections referenced in Microsoft's advisory, not independent community rules — verify they are enabled, not just available, in your tenant.
Data as of October 25, 2026
Sources: Microsoft Threat Intelligence — Storm-0940 uses ARTEX agentic AI in ConnectWise supply chain compromise, ConnectWise Trust Center advisories.