Get a free trial →

Push Logo

Malicious OAuth integrations: how to detect, block, and remediate

Geometry graphic

OAuth integrations are the hidden entry point in SaaS supply chain attacks

How do attackers exploit OAuth integrations in supply chain attacks?

  1. A third-party vendor is compromised — through infostealer-harvested credentials, code repository secrets, or direct exploitation
  2. The attacker discovers stored OAuth tokens connecting the vendor to downstream customer environments
  3. Those tokens provide API-level access to the customer's data — email, files, CRM records, secrets, internal tooling
  4. The access is legitimate from the application's perspective — no anomalous login, no credential theft, no malicious domain
  5. The attacker exfiltrates data and repeats across every downstream customer with an active integration

Why do most security tools miss OAuth supply chain attacks?

Push Security consent audit view showing OAuth permissions granted by users, helping security teams identify suspicious integrations and stop persistent access.

How do you secure OAuth integrations?

Push Security OAuth detection alert flagging a high-risk consent phishing attempt requesting excessive application permissions in the browser.

How Push detects, blocks, and manages OAuth integrations

Push Security OAuth detection alert flagging a high-risk consent phishing attempt requesting excessive application permissions in the browser.

Frequently asked questions

An attacker compromises a third-party SaaS vendor and finds stored OAuth tokens that connect the vendor to downstream customer environments. Those tokens provide API-level access to customer data — email, files, CRM records, secrets — through legitimate authorized connections. The access is indistinguishable from normal API activity because the application was genuinely authorized.

The pattern produced major breaches in 2025–2026: ShinyHunters stole Drift OAuth tokens to access 700+ Salesforce environments, Anodot tokens were exploited to breach Snowflake environments including Rockstar Games, and a deprecated AI app's OAuth tokens exposed Vercel's Google Workspace. Each attack exploited tokens from legitimate integrations that were never revoked.

Any active OAuth integration connecting the vendor to your environment gives the attacker API-level access through the vendor's stored tokens. The access persists until the tokens are explicitly revoked — password resets, MFA changes, and IdP-based remediation don't affect OAuth grants.

The blast radius depends on what permissions the integration holds and which users authorized it. An integration authorized by a well-permissioned employee — a developer or admin with access to shared drives, internal tools, and collaborative resources — exposes far more than that employee's personal data. Push provides visibility into what integrations exist, what permissions they hold, and who authorized them, so security teams can assess and remediate exposure quickly.

OAuth sprawl describes the accumulation of third-party OAuth integrations across an organization's SaaS environment, most of them authorized by individual employees outside of any approval process.

Each integration extends your security boundary to include the vendor's own security posture. A vendor compromise gives the attacker access to every downstream customer with an active integration. The risk is amplified by shadow integrations — apps connected through self-service trials, one-off projects, or employee experimentation that were never tracked or revoked. Push monitors OAuth consent flows across 20+ authorization servers and provides shadow SaaS discovery that surfaces integrations security teams didn't know existed.

Start with admin consent controls in Microsoft 365 and Google Workspace — require approval for new integrations on the two platforms you administer directly. For the broader SaaS estate, Push provides browser-level consent blocking that works across any authorization server: in Block mode, employees can't complete an OAuth authorization flow for applications that haven't been approved. This covers platforms where you don't have admin consent controls, and catches grants from unmanaged devices where IdP-side policies don't reach.

Combine preventive controls with regular audits of existing integrations. The most dangerous OAuth supply chain attacks exploited integrations that were authorized months earlier and never revoked when they were no longer needed.

IdP admin consoles in Microsoft 365 and Google Workspace show admin-consented applications, but user-consented grants are harder to surface — especially from unmanaged devices or personal accounts. SSPM tools provide API-level auditing for connected applications but require per-app configuration and don't capture the consent event in real time.

Push provides OAuth grant visibility by monitoring consent events at the browser layer — recording the application, authorization server, requested scopes, and authorizing user for every consent flow across 20+ authorization servers. This captures grants that never appear in IdP admin logs, including user-consented apps on unmanaged devices. Push's OAuth app management also shows existing integrations with their permissions, user count, and metadata — giving security teams a complete picture of their OAuth footprint.

Configure Entra ID to require admin consent for new third-party applications — this prevents employees from authorizing integrations without approval. However, admin consent controls only cover OAuth flows to Microsoft's authorization server, and user-consented apps on unmanaged devices bypass these controls entirely.

Push provides an additional layer: browser-level monitoring of OAuth consent flows to Microsoft's authorization server, capturing every consent event including the application's client ID, requested scopes, and authorizing user. Push's OAuth app management shows existing integrations and supports direct removal of unwanted applications. For organizations using Push's Block mode, unauthorized consent grants are prevented regardless of device management status.

Configure Google Workspace admin settings to restrict third-party app access — requiring admin approval for OAuth consent. As with Microsoft 365, this only governs flows through Google's authorization server, and user-consented apps from unmanaged browsers or personal accounts bypass admin controls.

Push monitors OAuth consent flows to Google's authorization server in real time, capturing consent events that Google's admin console may not surface. Push can warn or block unauthorized consent grants at the browser layer, covering BYOD and contractor devices. Push's OAuth app management provides visibility into what applications are connected and supports direct removal of risky integrations.

Yes. OAuth tokens are independent of the user's password — they're granted through a separate authorization flow and persist until explicitly revoked. Resetting a password, rotating MFA, or even deactivating an account in the IdP doesn't invalidate existing OAuth grants. This is what makes supply chain attacks through OAuth integrations so persistent: the attacker's access survives every remediation action that security teams take through the identity provider.

Revoking the specific OAuth grant is the only effective remediation. Push's OAuth app management helps identify which applications have been granted access and supports direct removal. The same persistence mechanism affects ghost logins and hijacked sessions — different access types, but the common thread is that they all persist outside the IdP's control plane.

Most organizations have some OAuth visibility through their IdP admin consoles, but that coverage is limited to admin-consented apps on one or two platforms. Effective monitoring requires layering tools that cover different parts of the OAuth landscape — from admin-consented apps on major platforms to user-consented grants on unmanaged devices across the broader SaaS estate.

IdP admin consoles (Microsoft Entra, Google Workspace admin) show admin-consented applications on their respective platforms. They're structurally blind to user-consented grants, apps on unmanaged devices, and OAuth flows to other authorization servers.

SSPM tools provide API-level auditing for connected applications, covering more apps than the IdP admin console but requiring per-app configuration. They don't capture the consent event in real time — they tell you an integration exists, not when or how it was authorized.

Push monitors OAuth consent flows at the browser layer across 20+ authorization servers in real time — capturing the application, scopes, and authorizing user for every consent event. Consent-level blocking prevents unauthorized applications from being authorized in the first place. This is the layer that closes the gap between what your admin console shows and what employees are actually connecting.

Push provides OAuth app management that shows existing integrations with their permissions, user count, and metadata. For integrations in Microsoft 365 and Google Workspace, Push supports direct removal — security teams can delete unwanted OAuth applications from within the Push console without needing to navigate each user's app permissions individually.

For other applications, removing an OAuth integration requires admin access to the specific vendor platform. Push surfaces which integrations exist and their risk indicators — permissions scope, user count, last activity — to help security teams prioritize which integrations to investigate and remove. The priority should be integrations that are dormant (no longer actively used), overly permissioned (broad data access scopes), or connected to vendors with elevated risk.