Identity ≠ AI Security. The industry has spent fifteen years building identity into a near-perfect front door — MFA, SSO, conditional access, passwordless, FIDO2, risk-based authentication. The door is solid. And it does not matter.

Pick the 16 most significant enterprise breaches of the last three years. Every one had something in common: the attacker authenticated successfully. Not bypassed MFA — used it. Not stolen passwords — stolen sessions, OAuth tokens, and service-account credentials issued by the identity layer doing exactly what it was designed to do.

Nine of these 16 are non-human identity (NHI) failures: OAuth integration tokens, CI/CD machine credentials, GitHub Actions OIDC, service accounts. No password to phish. No MFA to require. Just a long-lived token with nothing watching it.

16/16
Breaches where attacker authenticated successfully
0/16
Breaches stopped by the identity layer
9/16
Non-human identity (NHI) bypasses — no MFA applies
700+
Salesforce tenants compromised via one stolen OAuth token

The identity layer isn't broken. It's a door — one that, once it lets someone in, has no opinion on what they do next. The gap is what happens after authentication: behavioral monitoring per identity, egress control at the data layer, NHI inventory and lifecycle, and an audit trail that fires whether the credential is valid or not.

That's defence in depth. It's also zero trust applied honestly — the assumption that a valid credential, on its own, proves nothing about what the holder should be allowed to do next. Authentication is not security. It is permission to begin the breach.

A note on RuntimeAI's Agent Identity Fabric. We built one of the most capable agent identity systems on the market — KYA (Know Your Agent), cryptographic agent attestation, scoped capability tokens, full NHI inventory and lifecycle. And we still tell every customer the same thing: identity, even ours, is the front door. Defence in depth is the building. The next 16 sections are why.

The Breach Record: Valid Identity, Every Time

We analyzed sixteen of the most significant breaches of the last three years — spanning the world's largest identity providers, SaaS platforms, AI infrastructure vendors, supply-chain integrators, and infostealer-driven cookie-replay campaigns. Seven involve human identities. Nine involve non-human identities — OAuth integration tokens, CI/CD credentials, service accounts, GitHub Actions OIDC. The pattern across both is consistent and accelerating.

TanStack npm Worm — "Mini Shai-Hulud" Supply-Chain Attack Critical · Supply-Chain NHI
Identity bypassed: GitHub Actions OIDC token + npm publish token (machine identity) · MFA: N/A · May 2026

An attacker hijacked TanStack's GitHub Actions runner mid-workflow and published malicious npm packages signed with TanStack's legitimate OIDC identity. Downstream npm install ran the payload, which harvested GitHub, npm, AWS, and Kubernetes service-account tokens from every victim machine — fanning the worm forward to their CI pipelines.

Why identity didn't catch it: Every signature was valid. The npm registry's trust model worked perfectly. The OIDC claim came from the real TanStack workflow — because it was the real workflow, just compromised. No password to phish. No MFA to enforce. No human in the loop to question it.

Source: Snyk writeup · Orca analysis

Missing After Authentication

Behavioral anomaly detection on the publish event — a maintainer's CI suddenly publishing 8 packages in 90 seconds is anomalous by definition. Workload identity binding that ties OIDC tokens to specific runner fingerprints. Cross-package egress monitoring on what newly-published code attempts to call out to.

Vimeo via Anodot → Snowflake — 119,000 Records Critical · Third-Party NHI
Identity bypassed: Anodot's Snowflake / BigQuery service-account OAuth tokens · MFA: Not applicable to integration tokens · April 2026

ShinyHunters breached Anodot — a third-party analytics SaaS — and stole the data-warehouse connector tokens Anodot held on its customers' behalf. They used those tokens to log directly into Vimeo's Snowflake and exfiltrated ~119,000 user records via routine SQL queries. Vimeo's own identity stack never saw the attacker. Snowflake's auth worked exactly as specified.

Why identity didn't catch it: The "user" was a trusted vendor's service account doing what it always does — just for the wrong party. The OAuth integration model assumes that if Anodot's token is valid, Anodot is the one using it. That assumption now ships hundreds of millions of records.

Source: SecurityAffairs · Rescana incident report

Missing After Authentication

NHI inventory — most enterprises cannot list every OAuth integration token their SaaS vendors hold. Behavioral monitoring on integration tokens (an analytics connector shouldn't suddenly run bulk exports). Egress thresholds on Snowflake regardless of which identity initiated the session.

Rockstar Games via Anodot → Snowflake — ~80M Records Claimed Critical · Third-Party Fanout NHI
Identity bypassed: Same Anodot connector OAuth tokens · MFA: Not applicable · April 2026

Same supply-chain path as Vimeo. ShinyHunters used Anodot's stolen connector credentials to authenticate into Rockstar Games' Snowflake and reportedly harvested ~80 million records. Two named victims so far — the actual blast radius across Anodot's customer base is almost certainly larger.

Why this matters more than the headline: One stolen NHI fans out to many downstream tenants. The breach blast radius of a compromised integration vendor is now "every customer using that integration." Salesforce/Drift was 700 tenants. Anodot is still climbing.

Source: HackRead · Bitdefender

Missing After Authentication

Cross-tenant correlation — when the same upstream NHI is suddenly active across many customer environments simultaneously, that pattern is detectable. Per-tenant egress control. Vendor-token revocation workflows that don't require a 90-day vendor disclosure window before action.

Anodot — The SaaS Integrator Itself Critical · Root Cause NHI
Identity bypassed: Stolen Snowflake, S3, and Kinesis connector credentials · MFA: Not applicable to NHI · April 4, 2026

Unknown initial vector at Anodot exposed its customers' connector credentials. Attackers used the tokens as-issued — no exploit, no MFA prompt, no anomaly. This is the root-cause incident behind the Vimeo and Rockstar disclosures above.

Why this is the textbook NHI failure: The canonical "trust the integration = trust the attacker" pattern. Most enterprises don't inventory the OAuth tokens their SaaS vendors hold on their behalf — and if you can't list them, you can't rotate them, monitor them, or revoke them on suspicion. The blast radius is the integrator's entire customer book.

Source: RH-ISAC bulletin

Missing After Authentication

Mandatory NHI inventory at the customer side, not just the vendor side. Token scope minimization (most connectors are granted broader scopes than they actually use). Automated token-rotation on vendor incident disclosure.

Vercel → Context.ai Cascade — Shadow-AI OAuth Becomes the Attacker Critical · OAuth Cascade NHI
Identity bypassed: Google Workspace OAuth refresh tokens with broad scope · MFA: Not applicable to issued refresh tokens · April 2026

Lumma Stealer infected a Context.ai employee in February 2026. The attacker pivoted from the employee's laptop to Context.ai's AWS, exfiltrated OAuth refresh tokens that Vercel and other customers had granted to Context.ai, and used those tokens to log into Google Workspace at the downstream customers. Every login looked legitimate — the refresh tokens were valid and post-MFA.

The new primitive: A sanctioned third-party AI app silently becomes the attacker. The breach started on an employee laptop, propagated through AWS, and emerged at the downstream customers via OAuth grants no one had re-reviewed. "Shadow-AI OAuth scope" is the new long-tail attack surface.

Source: The Register · The Hacker News

Missing After Authentication

Periodic OAuth-grant review and pruning per tenant. Behavioral baseline on third-party app token usage (an analytics tool reading every email is anomalous). Endpoint-to-cloud lineage so an infostealer hit on one laptop doesn't silently become OAuth exfiltration in production.

Cloud Portals at 50 Firms — Infostealer Cookie Replay Critical · 50 Enterprises
Identity bypassed: Browser session cookies + Google refresh tokens harvested from infostealer logs · MFA: Already passed (session resumed) · April–May 2026

Operators bought infostealer logs containing session cookies, then replayed those cookies through geo-matched SOCKS5 proxies to restore authenticated SSO sessions at 50 enterprises. MFA was never prompted because the session was already authenticated — they just resumed it from a location that looked like the original user's.

Why this kills the "MFA solves it" argument: MFA-protected human identity is moot once the session cookie leaves the browser. Every "MFA solves session theft" claim assumes the cookie stays on the device. It doesn't. It syncs to personal devices, ends up in HAR files, gets harvested by infostealers, and ships off to criminal marketplaces.

Source: CyberInsider · Infosecurity Magazine

Missing After Authentication

Device-bound session tokens (DPoP, token binding). Behavioral monitoring per session — geo-impossible-travel, anomalous user-agent / TLS-fingerprint changes mid-session. Session-lifetime hardening for high-privilege roles.

Canvas / Instructure — 275M Student Records, 3.65TB, Zero Alerts Critical · 8,809 Institutions
Identity provider: Institutional SSO (Shibboleth, Azure AD, Google) + Free-For-Teacher self-enrollment · MFA: Not enforced on FFT tier · May 2026

Instructure operates two account tiers on the same production infrastructure: institutionally-managed accounts (SSO via university IdPs) and a Free-For-Teacher self-enrollment program (no institutional IdP, no verification). ShinyHunters exploited the weaker tier — self-enrolled FFT accounts that shared production tenant access — to exfiltrate 3.65TB across 8,809 institutions over a 7-day window. The second breach occurred one week after the first, using the same vector.

This is Salesforce's problem. The platform — one of the world's largest SaaS systems by data volume — was completely blind to 3.65TB leaving its infrastructure. No exfiltration monitoring. No volume threshold. No anomaly detection. A valid session moved the equivalent of hundreds of millions of records and nothing fired.

Missing After Authentication

Egress volume monitoring — 3.65TB is not a subtle signal. API rate limiting by data volume, not just request count. Tenant isolation enforcement between account tiers. Behavioral baseline per account — FFT accounts running bulk exports of production data is anomalous by definition.

Vercel — OAuth Token Theft via Shadow AI App High · AI Supply Chain Attack
Identity provider: Google Workspace OAuth 2.0 · MFA: Bypassed by direct token theft · April 2026

A Vercel employee signed up for Context AI (an "AI Office Suite") using their corporate Google Workspace account with "Allow All" OAuth permissions. Context AI was later compromised via Lumma Stealer malware delivered through malicious Roblox scripts — a consumer-facing attack surface that harvested corporate OAuth tokens as a secondary effect. With the Vercel employee's Google OAuth token, the attacker accessed Vercel's internal environments and unclassified environment variables.

This is the AI-era attack surface. Consumer AI tools, personal devices, over-scoped OAuth grants, and zero enforcement of corporate app policies on third-party AI apps create a new credential exfiltration vector that traditional identity governance doesn't see.

Missing After Authentication

Shadow IT visibility — the AI tool was unsanctioned but used with corporate credentials. OAuth scope enforcement — "Allow All" should not be permissible for corporate accounts. Token anomaly detection — new IP/location using an existing valid OAuth token.

LiteLLM — Poisoned Security Scanner Exfiltrates CI/CD Secrets Critical · AI Infrastructure Supply Chain NHI Breach
Identity type: PyPI API token (non-human CI/CD identity — not a human login) · MFA: N/A for machine tokens · March 2026

This is not a human identity breach. The target was a non-human identity — LiteLLM's PyPI publishing API token stored in its CI/CD pipeline. A poisoned version of Trivy (a security scanning tool used in the build pipeline) exfiltrated the token to attacker group TeamPCP. With valid PyPI credentials, TeamPCP published two malicious versions of litellm (1.82.7 and 1.82.8) in a 13-minute window. The malicious payload harvested SSH keys, cloud credentials (GCP, AWS, Azure), kubeconfigs, API keys, and database passwords from every machine that installed either version.

This breach illustrates why non-human identity — API tokens, service accounts, CI/CD credentials — is the largest unmonitored attack surface in modern infrastructure. No MFA applies. No rotation policy existed. The scanning tool exfiltrated the very secret it was supposed to protect.

Missing After Authentication

Short-lived, scoped tokens for pipeline publishing — not long-lived API keys. Detection of CI/CD tooling making outbound connections to attacker infrastructure. Anomaly detection on package publishing activity. NHI inventory — the token was unmonitored because it wasn't tracked as an identity at all.

ADT — AI-Assisted Vishing, Round Two. 5.5M Customers. High · 5.5M Customer Records
Identity provider: Okta SSO → Salesforce · MFA: Bypassed via AI-assisted vishing reset · 2025–2026

ShinyHunters (UNC6040) returned to ADT with the same playbook as 2024 — vishing targeting the Okta help desk — but with AI-generated call scripts that made impersonation more convincing and harder to detect in real time. The attacker again obtained a valid Okta session and pivoted to Salesforce. 5.5M customer records including names, addresses, dates of birth, and partial SSNs were confirmed in Have I Been Pwned. ShinyHunters claimed 10M+ Salesforce records.

This is the third ADT breach in 18 months. The attack vector — vishing → help desk reset → valid Okta session → Salesforce data — was identical to the 2024 incident. The 2024 breach produced no process changes sufficient to stop the 2025 attack. Same company. Same attacker group. Same entry point.

Missing After Authentication

Out-of-band callback verification for all help desk credential resets — call the employee back on their registered device, not the caller's number. Behavioral monitoring on Salesforce sessions from newly-reset accounts. The identity layer was not the problem in 2024 or 2025. The process that overrides it was.

Salesforce / Salesloft-Drift — One OAuth Token, 700 Enterprise Victims Critical · 700+ Organizations NHI Breach
Identity type: Salesloft Drift OAuth integration token (non-human machine identity) · MFA: Irrelevant — OAuth tokens are post-MFA artifacts · August 2025

This is not a human identity breach. Threat actor UNC6395 compromised Salesloft Drift's OAuth integration credentials and used valid non-human identity tokens to authenticate directly into 700+ Salesforce customer organizations — without ever touching a human credential or MFA prompt. OAuth tokens are post-authentication artifacts: they are issued after MFA completes and grant API access without re-challenging MFA for each call.

UNC6395 ran SOQL queries across all 700 tenants, harvesting user credentials, opportunity data, and customer records — and then searched within those records for embedded AWS access keys, Snowflake tokens, and other cloud credentials. Drift was removed from the Salesforce AppExchange. All active Drift OAuth tokens were revoked August 20. The Salesforce identity layer — OAuth — did exactly what it was designed to do: it trusted the token.

Missing After Authentication

Third-party OAuth app behavioral monitoring — the integration was making anomalous API calls across hundreds of tenants simultaneously, which is not normal behavior for a sales engagement tool. OAuth scope minimization — "full access" grants to third-party integrations. Detection of NHI token usage from unexpected infrastructure.

ADT — Okta Bypassed via Help Desk, Salesforce as Data Tier High · First of Three Breaches in 18 Months
Identity provider: Okta SSO → Salesforce · MFA: Bypassed via account reset · August 2024

ShinyHunters (UNC6040) breached ADT's Okta environment using vishing — impersonating an employee to manipulate an Okta help desk reset. The valid Okta session was then used to pivot to ADT's Salesforce instance to exfiltrate customer records. This is the same playbook ShinyHunters used across Instructure, Workday, McGraw-Hill, Amtrak, and Infinite Campus — with minor variations. The pattern is consistent enough that Mandiant has documented it as UNC6040's standard operating procedure.

Missing After Authentication

Out-of-band callback verification for help desk account resets. Behavioral monitoring on Salesforce API sessions — bulk queries from newly-reset accounts with no prior data access history. Least-privilege scoping on third-party vendor access.

Snowflake — 160+ Enterprise Customers, 560M+ Records Critical
Identity provider: Snowflake native auth · MFA: Not enforced · April–June 2024

UNC5537 didn't exploit a vulnerability. They logged in. Infostealers (VIDAR, RISEPRO, LummaC2) had harvested Snowflake credentials from employee devices over years — some dating to 2020. UNC5537 bought the credentials on criminal marketplaces, authenticated normally through Snowflake's login page, and ran bulk SELECT queries exporting tens of millions of records. Victims included AT&T (110M records), Ticketmaster (560M records), Santander Bank, LendingTree, and 155 others.

What stopped it: Nothing. Snowflake did not enforce MFA globally at the time — it was opt-in. No alerting existed on bulk data exports from accounts that had never previously exported anything. Snowflake's event logging was a paid add-on that most affected customers hadn't enabled.

Missing After Authentication

Behavioral anomaly detection — an account that has never run a bulk export query suddenly exporting 100M rows is an obvious signal. No egress volume thresholds. No alerting on logins from IPs with no history on the account.

Microsoft / Midnight Blizzard — No MFA on a Legacy Test Tenant. Russian SVR Gets In. Critical · State Actor (APT29)
Identity provider: Legacy Microsoft OAuth test tenant (no production SSO) · MFA: Not enabled · January 2024

APT29 (Cozy Bear — Russian SVR, the SolarWinds group) used password spray against a legacy, non-production OAuth test tenant that had no MFA enabled. The test account had been granted dangerously elevated OAuth permissions: Directory.ReadWrite.All, RoleManagement.ReadWrite.Directory, Application.ReadWrite.All. APT29 used those permissions to create new OAuth applications, grant Exchange Online full_access_as_app, and pivot into Microsoft's corporate email — accessing accounts of senior leadership, the cybersecurity team, and legal employees. They were specifically looking for what Microsoft knew about APT29.

Microsoft filed with the SEC under new cyber disclosure rules. CISA issued a federal alert. Attack volume escalated 10× in February 2024. The entry point: a forgotten test account with no MFA that no one had decommissioned.

Missing After Authentication

Lifecycle management for non-production accounts — the test tenant should not have existed with those permissions. MFA enforcement on all accounts regardless of environment. Least-privilege review on OAuth app permissions. Detection of password spray against legacy tenants with no recent activity.

Okta — The Identity Provider Gets Its Own Session Hijacked High · 5 Enterprise Customers Affected NHI Breach
Identity type: Okta internal service account (non-human identity — Salesforce support portal) · MFA: Bypassed by token replay · October 2023

This breach began with a non-human identity — a Salesforce support service account whose credentials an Okta employee had saved to their personal Chrome profile, which synced to a personal device. That device was compromised. The attacker accessed Okta's customer support portal and downloaded HAR files customers had uploaded for troubleshooting. HAR files contain raw browser session data — including active session cookies and authentication tokens in plaintext. The attacker replayed those tokens against 5 Okta customers, including BeyondTrust, Cloudflare, and 1Password.

The deepest irony in modern security: the world's largest enterprise identity provider was breached via its own support service account, and the credentials to sensitive customer data were exfiltrated in a file format that customers themselves had uploaded for support purposes.

Missing After Authentication

Controls prohibiting credential sync to personal browser profiles. Detection of the service account accessing an anomalous number of customer files. HAR sanitization — tooling to strip session tokens before upload. Session token lifetime limits that would have expired replayed tokens before use.

Comcast / Xfinity — CitrixBleed: MFA Bypassed Before It Could Apply Critical · 35.9M Records · $117.5M Settlement (2026)
Identity provider: Citrix NetScaler (session gateway) · MFA: Fully bypassed by session token extraction · October 2023 · Settlement finalized April 2026

CVE-2023-4966, "CitrixBleed," allowed attackers to extract valid authenticated session tokens directly from Citrix NetScaler ADC memory — no credentials required. The attack delivered a live, authenticated session that had already passed MFA. The attacker never touched the authentication step. Comcast was attacked between October 16–19, 2023, days after Citrix published the patch but before Comcast applied it. 35.9M customer records exposed — including hashed passwords, partial SSNs, and secret Q&A responses.

In April 2026, Comcast agreed to a $117.5M class action settlement — one of the largest data breach settlements on record. The final approval hearing is scheduled for July 7, 2026. The breach itself took four days. The recovery took three years.

Missing After Authentication

Detection of session replay from IPs with no prior history. Behavioral monitoring post-authentication — the stolen session initiated access patterns inconsistent with the original user's behavior. Patch cadence controls — the vulnerability was public when the breach occurred.

The Pattern in Every Breach

Across all ten breaches, three consistent themes emerge.

1. Authentication Succeeded — Human and Non-Human

In zero cases did the attacker break cryptography or brute-force credentials in real time. For human identities: they obtained valid credentials (stolen, reset, or social-engineered), stole valid session tokens (post-authentication), or exploited the human override mechanism (help desk reset). For non-human identities: they stole API tokens, OAuth integration credentials, or service account credentials — none of which have MFA equivalents. In every case, the authentication system did exactly what it was designed to do.

2. MFA Was Present but Insufficient

Of the ten breaches: MFA was present in six. In all six, it was bypassed — not broken. Social engineering bypassed help desk reset procedures. Session token theft delivered pre-authenticated sessions. OAuth token exfiltration made MFA irrelevant — OAuth tokens are post-MFA artifacts. Three breaches had no MFA at all (Canvas FFT, Snowflake, Microsoft's test tenant). Three were NHI breaches where MFA doesn't apply. MFA is a gate at the front door. It provides zero protection once the attacker is inside — and zero protection for non-human identities that have no door at all.

3. The Data Layer Was Unprotected

After authentication succeeded, in every case the data layer had no independent controls. No behavioral anomaly detection on query volume. No egress monitoring on data transfer rates. No tenant-level key isolation. No immutable audit trail that would have detected the exfiltration before it completed. The posture was: if you authenticated, you're trusted. Trust means access. Access means data.

The verdict across 10 breaches — most recent first

Breach & Date Identity Type MFA Present How Auth Was Defeated What Attacker Had
Canvas / Instructure
May 2026
Human · Instructure native auth (FFT tier)No (FFT tier)Unverified self-enrollment tier exploitedValid FFT account credentials
Vercel
Apr 2026
Human · Google Workspace OAuth 2.0YesOAuth token stolen via Lumma Stealer / shadow AI appValid Google OAuth token
LiteLLM NHI
Mar 2026
NHI · PyPI API token (CI/CD pipeline)N/APoisoned CI/CD scanner exfiltrated publishing tokenValid PyPI API publishing token
ADT (2nd breach)
2025–2026
Human · Okta SSO → SalesforceYesAI-assisted vishing → Okta help desk resetValid Okta session → Salesforce OAuth token
Salesforce / Drift NHI
Aug 2025
NHI · Salesloft Drift OAuth integration tokenYesOAuth token theft — MFA irrelevant to token-based API authValid OAuth token → API access to 700+ Salesforce tenants
ADT (1st breach)
Aug 2024
Human · Okta SSO → SalesforceYesVishing → Okta help desk account resetValid Okta session → Salesforce OAuth token
Snowflake
Apr–Jun 2024
Human · Snowflake native auth (no IdP)Not enabledInfostealer-harvested credentials — simply logged inValid username + password (historical theft)
Microsoft / Midnight Blizzard
Jan 2024
Human · Legacy OAuth test tenant (no MFA)Not enabledPassword spray on legacy test account → OAuth pivot to corporate emailValid OAuth tokens → Microsoft corporate email access
Okta support system NHI
Oct 2023
NHI · Okta internal service account (Salesforce portal)YesCredential sync to personal device → session token replay from HAR filesValid session tokens from customer HAR uploads
Comcast / Xfinity
Oct 2023 · $117.5M settlement 2026
Human · Citrix NetScaler (session gateway)YesCVE-2023-4966: session token extracted from memory — MFA never reachedValid extracted post-auth session cookie
Snowflake — 160+ Enterprise Customers, 560M+ Records Critical
Identity provider: Snowflake native auth · MFA: Not enforced · 2024

UNC5537 didn't exploit a vulnerability. They logged in. Infostealers (VIDAR, RISEPRO, LummaC2) had harvested Snowflake credentials from employee devices over years — some dating to 2020. UNC5537 bought the credentials on criminal marketplaces, authenticated normally through Snowflake's login page, and ran bulk SELECT queries exporting tens of millions of records. Victims included AT&T (110M records), Ticketmaster (560M records), Santander Bank, LendingTree, and 155 others.

What stopped it: Nothing. Snowflake did not enforce MFA globally at the time — it was opt-in. No alerting existed on bulk data exports from accounts that had never previously exported anything. Snowflake's event logging was a paid add-on that most affected customers hadn't enabled.

Missing After Authentication

Behavioral anomaly detection — an account that has never run a bulk export query suddenly exporting 100M rows is an obvious signal. No egress volume thresholds. No alerting on logins from IPs with no history on the account.