On October 12, 2025, when the news broke that 5.7 million of Qantas’s customer records had been stolen, the cybersecurity community felt a familiar dread. But as the details of the incident report emerged, that dread turned into a sharp, urgent realization for every CISO and security architect. The breach wasn’t caused by a sophisticated zero-day exploit in the Salesforce platform itself. It wasn’t a sprawling phishing campaign that tricked hundreds of employees. The attackers didn’t need to break down the front door, because Qantas had, for all intents and purposes, given them a master key.
The threat group, identified by the FBI as UNC6395, had executed the breach by compromising a third-party marketing application connected to Qantas’s Salesforce environment. By stealing the OAuth access token associated with this trusted integration, they gained persistent, API-based access to Salesforce and began to exfiltrate millions of customer records, completely bypassing MFA and other user-centric security controls that Qantas had in place.
This is the new, uncomfortable reality for every enterprise that has built its business on the Salesforce platform. If your security strategy for Salesforce still focuses exclusively on user profiles, permission sets, and MFA enforcement, you are defending against yesterday’s threats. The new battleground—the soft, undefended underbelly of your SaaS environment—is your SaaS supply chain. It is the sprawling, often un-audited web of third-party applications from the AppExchange that you have connected to your org.
As a Salesforce Security Architect who has spent the last decade architecting defenses for Fortune 500 companies and responding to these exact types of breaches, I can state this unequivocally: we have become experts at locking down our human users, but we have failed to apply that same level of scrutiny to the non-human identities of the applications we connect to our orgs. Each of those apps—from marketing automation tools to data enrichment services—represents a persistent, often overly-permissive, API-based connection directly to your most sensitive data. It is a backdoor that we installed ourselves.
“Your Salesforce data is only as secure as the least secure application you have connected to it. Trust is not a default setting; it is a state that must be continuously verified, audited, and enforced.”
You cannot defend what you cannot see. Your first mission is to create a complete and accurate inventory of every single application that has been granted access to your Salesforce org. Many teams are shocked to find dozens or even hundreds of legacy, forgotten, or user-installed apps with active connections.
Table 1: Application Discovery & Inventory Methods
Once you have your inventory, you must analyze the permissions (OAuth scopes) that each application has been granted. The goal of an attacker is to find an application with overly broad scopes, which they can then abuse to access data far beyond the app’s intended function.
Table 2: High-Risk OAuth Scopes and Their Business Impact
Discovery and analysis are useless without action. This phase focuses on systematically reducing the attack surface by revoking unnecessary access and enforcing stricter policies.
Table 3: The App-Centric Hardening Protocol
| Control Category | Hardening Action | Implementation Steps & Rationale |
|---|---|---|
| Access Control | Enforce IP Range Restrictions | Setup > Manage Connected Apps > [App Name] > Edit Policies > IP Relaxation: Enforce IP restrictions. For apps that should only be accessing Salesforce from a known server (e.g., a marketing automation platform), this is a critical control. It prevents an attacker from using a stolen token from an arbitrary location. |
| Revoke Unused & Orphaned Tokens | Setup > Connected Apps OAuth Usage > Revoke. Any application with a “User Count” of zero or a “Last Used Date” older than 90 days should have its tokens revoked immediately. This cleans up legacy risk. This can and should be scripted via the Salesforce API for automation. | |
| Policy Enforcement | Block Unvetted Apps by Default | Setup > Connected Apps > Manage Connected Apps > Block. Change the org-wide setting to block all new applications by default. You can then explicitly “Install” or “Allow” specific, vetted applications. This moves you from a “default allow” to a “default deny” posture. |
| Session Management | Enforce Short-Lived Sessions for High-Privilege Users | Setup > Session Settings > Timeout Value. For profiles with high privileges (e.g., System Administrator), create a separate session profile with a much shorter timeout (e.g., 2 hours). This limits the window an attacker has to hijack a privileged session. |
| User Permissions | Restrict the “Manage Connected Apps” Permission | This permission allows a user to authorize new apps and modify their policies. It should be removed from all standard administrator profiles and restricted to a small, dedicated “SaaS Security” or “Integration Architect” profile. |
You have now walked through the core components of a modern, app-centric Salesforce security program. You’ve moved beyond simply trusting the AppExchange security review and have implemented a process to verify those trust assumptions yourself. You now have a repeatable methodology to enumerate every connected application, dissect its OAuth scopes to understand its true permissions, and identify and neutralize high-risk integrations before they can be weaponized.
By implementing this protocol, you have fundamentally shifted your defensive posture from a reactive, user-focused model to a proactive, app-focused one.
Action: chatterFileLinkOffOn).ReportExport events or high-volume ApiTotalUsage events, which are the key indicators of an active data exfiltration attempt.The Qantas breach, and the wider wave of Salesforce-related incidents in 2025, were a brutal but necessary wake-up call. They proved that a pre-authorized OAuth token in the hands of a determined attacker is infinitely more valuable—and more dangerous—than a single stolen user password. Your response, therefore, cannot be a one-time audit. It must become a core, continuous function of your security program.
The End State: A Zero Trust Architecture for Your SaaS Supply Chain
Your ultimate goal is to build a “Zero Trust” model for your entire application ecosystem. Every new application that requests access to your Salesforce org must be treated as untrusted by default.
This is the only sustainable strategy for securing your data in an interconnected world where your most critical infrastructure is inextricably linked to dozens of external vendors. As a security leader, your role has evolved. You are no longer just the builder of fortress walls; you are the manager of a complex web of digital trust. Take control of your connected apps, and you take control of your data.
Setup > Connected Apps OAuth Usage to see a list of all authorized apps, how many users are using them, and when they were last used.varonisfull scope. It grants the application the ability to do anything the connected user can do, effectively allowing for a full account takeover via the API. This scope should be scrutinized heavily and rarely granted.api and web scopes?api scope allows the app to access data programmatically (e.g., download reports). The web scope allows it to maintain a UI session, essentially browsing Salesforce as the user. Both are powerful and potentially risky.API Event or ApiTotalUsage event log files will show you which applications are making API calls, which objects they are querying, and the volume of data being accessed. Anomaly detection here is key.salesforceSetup > Manage Connected Apps, you can block new, unvetted applications from being installed by users. This forces all new integrations to go through a formal security review.query job records to try and hide which reports they had exported. However, the underlying Salesforce event logs were not impacted, so a thorough forensic investigation could still find them.cloud.google+1Campaign and Lead objects, it should not have the “Modify All Data” permission.laconfianzatechSetup > Connected Apps OAuth Usage and click “Revoke” for that application. This will immediately invalidate all its active tokens and block it from accessing your org. This is the critical first step in containment.This is not a warning about a future threat. This is a debrief of an…
Let's clear the air. The widespread fear that an army of intelligent robots is coming…
Reliance Industries has just announced it will build a colossal 1-gigawatt (GW) AI data centre…
Google has just fired the starting gun on the era of true marketing automation, announcing…
The world of SEO is at a pivotal, make-or-break moment. The comfortable, predictable era of…
Holiday shopping is about to change forever. Forget endless scrolling, comparing prices across a dozen…