Late last month, a single third-party breach became a data-theft event at eight of the largest software providers small businesses depend on. Password managers, identity vendors, endpoint tools, and sales platforms all confirmed that their customer records were pulled from the same shared cloud environment. The attackers never touched any of those companies’ networks. They pulled the data through OAuth tokens the victims had already handed to one common vendor.

This is the shape of the modern SaaS supply chain attack, and it is not a story about the vendor that got popped. It is a preview of how a business with strong internal security controls can still be quietly emptied through an integration a team member approved two years ago and never looked at again. If you have a Microsoft 365 tenant, a Google Workspace domain, or a CRM in the cloud, you own OAuth grants that behave exactly the same way. The question is whether anyone has audited them.

What actually happened in this cascading vendor breach?

The compromised company was a market-intelligence platform used across enterprise sales teams. It integrates with its customers’ cloud CRM environments through OAuth, which lets it pull deal data, contact records, and account histories on demand. That is a normal, useful integration. The vendor was breached in June, and the attackers stole the OAuth tokens the vendor held for its customer environments. Those tokens were then replayed against the cloud CRM tenants themselves.

The result was customer-data exfiltration at eight enterprise providers who all happened to be customers of that same intelligence vendor. Public disclosures so far include a widely used password manager, a privileged-access vendor, an endpoint-management platform, a marketing engagement tool, a security-intelligence provider, and several CRM-adjacent SaaS products. Each of them is enterprise-grade with mature security teams. None of them had a network intrusion. Each had a valid OAuth token stolen from a partner.

For a small business owner reading news like this, the natural reaction is that it is an enterprise story. It is not. Small businesses have exactly the same OAuth grants sitting in Microsoft 365, Google Workspace, cloud CRMs, marketing tools, accounting platforms, and file-sharing services. The mechanism does not care about your company size. It cares about whether a vendor with your token gets compromised. If your team has ever clicked Allow to connect a new app to your business data, you have built the same attack surface at your scale. Most small offices have never audited it. That is the same category of blind spot as the shadow SaaS integrations that no one is watching — except in this case the app is not forgotten, it is actively in use, and the risk sits on the vendor’s side rather than yours.

Why does one OAuth token turn a vendor problem into your problem?

OAuth is the protocol that lets one cloud service call another on a user’s behalf without ever seeing the user’s password. When your marketing manager connects a scheduling tool to the shared calendar, or your sales lead connects a prospecting app to the CRM, they log in once with their real credentials, approve a permissions screen, and the vendor is issued a token. That token is what the vendor uses from that point forward. It is a bearer credential. Whoever holds it can act as your user, at the scope the user approved.

The specific problems that make OAuth grants dangerous in a supply chain breach are the ones nobody notices at approval time. Scopes are usually much broader than the feature needs. A calendar-sync tool that only reads next week’s meetings is often granted read access to the entire mailbox. Tokens are long-lived by default; many vendors receive refresh tokens that never expire until an admin revokes them explicitly. And the tokens are stored in the vendor’s environment, not yours, which means your normal security controls do not protect them. Your identity provider does not see a token being replayed from a different IP; it sees the same authorized vendor calling the same authorized endpoint.

Why your MFA and password rotation do not stop this

This is the part small business owners find hardest to accept. You can have phishing-resistant multi-factor authentication turned on for every user, you can rotate every password on a schedule, and none of it applies to a stolen OAuth token. The user was not phished. Their password did not leak. The vendor’s copy of a legitimate token was taken from the vendor’s systems. When the attacker replays it, your identity provider treats it as an already-authenticated session, because it is. MFA only fires when a user is logging in. Password rotation only helps when a password is the credential. Neither event happens in this attack path.

The controls that do help are the ones that scope the token narrowly, expire it aggressively, and watch for anomalous API activity after it is issued. In the same way that the remote-access foothold most ransomware relies on is invisible to endpoint antivirus once it is established, an active OAuth token is invisible to the sign-in log once the grant is in place. The lesson from both attack paths is the same. The perimeter you protect at login is not the same perimeter you protect after login.

How do you audit the third-party integrations already connected to your business?

Every major cloud platform has an admin console page that lists which third-party apps have been granted access to your tenant, who approved them, and what scopes they hold. Most small business owners have never opened one. Auditing OAuth grants is the single highest-leverage action you can take this week, and it does not cost anything.

Microsoft 365 tenants

Open the Microsoft Entra admin center, go to Enterprise applications, and filter to Application type equals Enterprise applications. Every row is a third party that has been consented into your tenant. Sort by consent date to find the oldest grants first. For each one, open the Permissions blade to see the scopes granted. Anything with Mail.ReadWrite, Files.ReadWrite.All, Sites.FullControl.All, or User.Read.All should be immediately reviewed. If nobody at your business currently uses that vendor, delete the enterprise application. If the vendor is in use but the scopes are wider than the feature requires, remove the app and grant it again with narrower consent.

Google Workspace domains

Go to the Google Admin console, Security, Access and data control, API controls, App access control. The Third-party apps with access page lists every app that has an OAuth grant to any user in your domain. Look at the Trusted, Limited, and Blocked columns. Anything Trusted with drive.files, gmail.readonly, or contacts.readonly should be reviewed. Restrict apps you are not actively using, then move any remaining active vendors to Limited unless they have a specific business need for wider scopes.

Cloud CRMs and other business apps

The console name changes by platform, but every enterprise SaaS product has a Connected Apps or Installed Packages page. Some call it API integrations. The audit steps are the same. List every connected app. Confirm who approved it. Confirm what data it can read or write. Remove anything unused. Rotate credentials on the ones you keep. If your team has ever accepted a permissions screen without reading it, you have some cleanup to do here. Getting a professional set of eyes on the audit is exactly what the free security risk assessment for your business is designed to catch, because a first-time OAuth inventory usually finds more than owners expect.

What should your managed IT partner be doing right now to close this attack surface?

An OAuth audit is a one-time cleanup. Keeping the surface small over time is a process. That is where a managed IT partner earns their fee, and it is the part small business owners rarely see because it is invisible when it works. Here is what a competent partner is doing around a client tenant this week, whether that client asked or not.

First, they are baselining the current inventory of connected apps in every major tenant they manage. That includes Microsoft 365, Google Workspace, any cloud CRM, any marketing automation platform, and any file-share service. The baseline goes into a client-specific record so that any new grant approved in the future is visible as a change from that baseline rather than lost in the noise.

Second, they are pushing admin-consent policies so that new third-party apps requiring high-privilege scopes cannot be approved by a single end user without admin review. Microsoft 365 calls this admin consent workflow. Google Workspace calls it restricting access to unconfigured apps. Both take about ten minutes to enable and both stop the most common way OAuth attack surface grows: a well-meaning employee clicking through a permissions screen for a productivity app they saw on social media.

Third, they are watching for anomalous API activity after grants are issued. The valuable signals are things like a token that has been dormant for six months suddenly pulling large volumes of email, or a vendor calling an endpoint from a new geography, or a service principal reading tenant-wide data outside of a maintenance window. A partner running 24/7 IT monitoring for small businesses sees those patterns because someone or something is actually watching, not because a dashboard existed and nobody looked at it.

Fourth, they are running SSO with phishing-resistant MFA on every admin account, and they are keeping the number of tenant-wide admins deliberately small. If an admin’s account is the only path to consent a high-scope app to the tenant, then hardening those accounts collapses the attack surface without needing to touch a single end user’s device.

Fifth, and this one gets neglected everywhere, they are keeping a written vendor list. Not a spreadsheet buried on someone’s laptop, an actual maintained list of every SaaS product the business depends on, who approved it, what data it holds, and what happens if that vendor is compromised. When news like the June breach hits, they can look at that list in ten minutes and tell an owner which of their vendors is exposed rather than starting from scratch under time pressure.

Frequently Asked Questions

What is OAuth, and why do business SaaS integrations use it?

OAuth is the standard that lets one cloud app call another on a user’s behalf without ever handling that user’s password. When you connect a marketing tool to your CRM or a scheduling app to your calendar, OAuth is what issues the connection. The reason SaaS vendors use it is that it is safer than sharing passwords, and it lets users revoke specific integrations without changing anything else about their account.

Can we just avoid approving any SaaS integrations?

You can, but it is not realistic for most businesses. Modern SaaS depends on integrations to work at all. The practical answer is to approve fewer of them, approve them with narrower scopes, keep a written list, and audit the list on a schedule. Blocking every integration usually causes teams to route around the block, which creates a worse blind spot than the original one.

How often should we audit third-party OAuth grants?

Quarterly is a reasonable baseline for most small businesses. Higher-risk environments, or businesses with regulated data such as protected health information or payment card data, benefit from monthly reviews. The audit should always include removing grants that are no longer used, tightening scopes on ones that are, and confirming that admin-consent policies are still enforced.

Does multi-factor authentication protect against a stolen OAuth token?

No. Multi-factor authentication protects the login event. A stolen OAuth token is used after login has already happened, so MFA is not evaluated when the token is replayed. This is the specific reason OAuth grants deserve their own security controls, independent of your user sign-in policies.

What information can attackers see with a stolen OAuth token?

Only what the token was granted. If the token was scoped to read a single calendar, that is all an attacker sees. If it was scoped to read every file in your tenant, that is what the attacker sees. This is why scope discipline at approval time matters so much. A narrow grant limits the blast radius of a future vendor breach to the specific data that vendor legitimately needed.

Should we require SSO for all admin accounts?

Yes, and pair it with phishing-resistant multi-factor authentication, such as hardware security keys, for anyone who can consent applications to the tenant. Reducing the number of accounts that can approve high-scope integrations is one of the most cost-effective controls a small business can implement, because it collapses the attack surface without adding tooling or ongoing cost.

Ready to audit your OAuth grants?

If you have never opened your Microsoft 365 Enterprise applications page or your Google Workspace third-party app controls page, this is the week to do it. The audit is the smallest possible investment against one of the fastest-growing attack surfaces facing small businesses. If you want a second set of eyes on the inventory before deciding what to prune, request a security risk assessment and we will walk your tenant with you.