CVE Tools
Microsoft Says an Azure Attack Was "Agentic-Driven." Its Own Evidence Says "Scripted.". Storm-3168 tore through one Azure tenant in 35 minutes of destruction. The mechanism proof in Microsoft's own po

Microsoft Says an Azure Attack Was "Agentic-Driven." Its Own Evidence Says "Scripted."

Storm-3168 tore through one Azure tenant in 35 minutes of destruction. The mechanism proof in Microsoft's own post is timing correlation, not an AI agent — and the rewrite desks already dropped the hedge.

The claim

On September 25, 2026, Microsoft's threat intelligence team published a post titled "Storm-3168: Agentic-driven cloud attacks using compromised service principals." The headline attributes a destructive Azure incident to an AI agent. The body text is more careful than the title: Microsoft's own evidentiary language is that the observed pattern "strongly indicates automated or scripted execution" — a phrase that describes a script, not an agent.

The coordinated timing, division of labor, and overlapping token usage across the two service principals strongly indicates automated or scripted execution.
— Microsoft Threat Intelligence, Sep 25, 2026

Within hours, rewrite coverage dropped even that hedge. Cyberpress.org's headline reads "Storm-3168 Uses Compromised Service Principals to Launch Agentic Attacks on Azure Cloud" — no qualifier, no caveat. The label travels faster than the evidence underneath it. This piece checks what Microsoft actually released against what the "agentic" claim requires, and lines it up against the one report that coined the term for this actor group in the first place: Sysdig's July JADEPUFFER research, which is where "agentic" started meaning something specific.


What Microsoft actually released

One impacted tenant. Two compromised service principals. A timeline built entirely from Azure control-plane telemetry — read/write API calls, token issuance, timestamps. No code, no payload, no prompt, no model output.

The Storm-3168 incident, by Microsoft's own clock

  1. First service principal begins reconnaissance
    15 hours 33 minutes of activity, 300+ successful read operations across the tenant.
  2. Second service principal enumerates assets
    VMs and resource groups across two subscriptions mapped in 5 seconds.
  3. App Service config stores inspected
    Followed by a failed OpenSearch lookup — possibly hunting for exposed secrets.
  4. Failed ListKey attempt
    Targeted a storage account that did not exist.
  5. Destructive sequence begins
    100+ storage account deletion attempts inside roughly 7 minutes.
  6. 150+ destructive or credential-collection operations
    Storage, SQL, Key Vault, Function App and App Service-plan targets; SQL deletions all failed — but because of an unsupported API version, not a security control.
  7. 30+ successful ListKeys requests
    Against surviving storage accounts.
5tokens issued to the destructive identitytwo active in the same 70-second window
150+destructive/credential ops in 35 minstorage, SQL, Key Vault, Function App
3IPs released as IOCsno agent artifacts, prompts, or samples
0ransom notes observedand no confirmed data exfiltration
ReleasedNot released
3 IP addresses (App Service probing / malicious ARM requests)Any agent artifact — code, prompt, model output, binary
A detections table (Defender XDR / Defender for Cloud alerts)Confirmed initial-access vector
5 MITRE ATT&CK mappings (T1190, T1078.004, T1526, T1485, T1490)A ransom note or confirmed data exfiltration
Control-plane timing/correlation across two service principalsIndependent corroboration that this specific incident used an LLM

What the gap actually prevents you from concluding

  • No confirmed initial-access vector means you can't point defenders at a specific entry point to close — the GitHub-secret lead is plausible, not proven.
  • No ransom note and no confirmed exfiltration means the business-impact claim rests on destruction alone, not extortion — a materially different threat model than "agentic ransomware."
  • No agent artifact (prompt, model call log, binary) means the "agentic" label in this specific incident rests entirely on timing and coordination inference, not on anything that distinguishes a script from a model.
  • Resource locks and storage-level deletion protection blocked "few" of the targeted accounts — most succeeded, so the mitigation story here is partial, not a save.

The independent check: where the "agentic" label actually came from

Microsoft's post links this actor to JADEPUFFER, which Sysdig first documented on July 1, 2026 as "the first documented agentic ransomware operation." That original report is where the term earned its evidentiary weight — and it's worth being fair to it, because its evidence is genuinely different in kind from what Microsoft released in September.

Two reports, two different evidence bars

Sysdig — JADEPUFFER (Jul 1, 2026)
  • Self-narrating payloads: Base64-encoded Python saturated with natural-language commentary explaining why each action is taken, including ROI-style target prioritization
  • A 31-second window between a failed admin-login attempt (19:34:36 UTC) and a correctly re-diagnosed, working fix (19:35:18 UTC)
  • Comprehension of planted free-text context — an action that only makes sense if the text was read and understood, recurring across sessions weeks apart
  • Entry via CVE-2025-3248, an unauthenticated Langflow RCE — a real, named, exploitable vulnerability
  • Explicit admission: "we have no visibility into JADEPUFFER's system prompt or agent configuration"
Inferential, but the artifacts are specific and reproducible from the payload content itself.
Microsoft — Storm-3168 (Sep 25, 2026)
  • Coordinated timing and overlapping token usage across two service principals
  • Division of labor between a reconnaissance identity and a destructive identity
  • Own language: pattern "strongly indicates automated or scripted execution"
  • No payload content, no natural-language artifacts, no code shown
  • Attribution to JADEPUFFER rests on linking this tenant's pattern to Sysdig's prior work, not on new mechanism evidence inside this incident
Control-plane telemetry only — the same signature a well-written bash script produces.

The link between the two reports isn't just the actor name — it's a specific bug. Storm-3168's September infrastructure was also observed probing Langflow's code-validation endpoint, /api/v1/validate/code, against App Service targets — though Microsoft states plainly those probed targets "did not overlap with the affected Azure subscriptions," so it isn't the entry point for this incident. It is, however, confirmed as JADEPUFFER's entry point in July: an internet-facing Langflow instance exploited via the same endpoint, tracked in our own index as CVE-2025-3248 — CVSS 9.8, EPSS 99.99th percentile, in CISA's KEV catalog, with two public exploit writeups already available. One 18-month-old unauthenticated-RCE bug is the connective tissue across both reports, whether or not it was used in September.


Disclosure

Both vendors in this story sell products that benefit from the "agentic threat" framing: Microsoft's Defender/MDASH stack and Sysdig's Falco/Sysdig Secure line both market agentic-attack detection. That doesn't make either report's underlying telemetry wrong, but the framing serves a product line on both sides of this comparison — worth holding in mind when a vendor's headline is more confident than its evidence section. This piece was also drafted using LLMs from labs — including Microsoft — that appear in the broader AI-security beat we cover; we carry that disclosure on every ledger-style piece we write about AI-attributed security claims.

Verdict

The falsifier: a payload sample, command log, or model-call trace from this specific September incident showing natural-language reasoning, self-correction, or comprehension of planted context — the same class of artifact Sysdig produced for JADEPUFFER in July. Absent that, "strongly indicates automated or scripted execution" is the most precise sentence in Microsoft's own post, and it belongs in the headline more than "agentic-driven" does.

CVE and KEV data current as of 2026-10-12