Zscaler Blog
Get the latest Zscaler blog updates in your inbox
The Gainsight Supply Chain Attack: What it Means for SaaS Security
According to the official disclosures, the Gainsight incident was a classic SaaS supply chain attack in which threat actors compromised OAuth tokens used by Gainsight’s Salesforce-connected applications. Rather than targeting Salesforce directly, attackers exploited the trusted integration pathway between the two platforms—using stolen refresh tokens to inherit the same data access privileges that organizations had granted to Gainsight.
This allowed unauthorized API access, data queries, and potential exfiltration of CRM information across hundreds of customer environments. The root issue was the over-privileged and long-lived OAuth trust established between organizations and a third-party vendor, creating a high-value target that adversaries could abuse at scale.
How SaaS security posture management (SSPM) could have prevented or minimized the breach
What is SSPM?
SaaS security posture management (SSPM) is a set of tools and processes designed to monitor, manage, and secure the configurations and usage of SaaS applications. SSPM plays a crucial role in SaaS security by identifying misconfigurations, enforcing compliance, and automating remediation of security issues across cloud applications.
By continuously assessing third-party integrations and user permissions, SSPM helps organizations quickly detect and address vulnerabilities that could be exploited in supply chain attacks. This proactive approach significantly reduces the risk of unauthorized access and data breaches stemming from interconnected SaaS platforms.A modern SSPM solution directly addresses the gaps exposed by the Gainsight attack. Here is how:
1. Full visibility into all third-party integrations
Most organizations don’t maintain an accurate inventory of all OAuth apps connected to Salesforce or what data they can access.
SSPM provides automatic discovery of:
- All Gainsight apps connected to Salesforce
- Detailed permission scopes (API access, offline access, user data access)
- Which users authorized the apps and when
- What sensitive Salesforce objects those apps could read
This proactive inventory would have immediately highlighted that Gainsight apps had broad, persistent Salesforce access—long before attackers exploited it.
2. Continuous monitoring of OAuth token use
Attackers relied on compromised refresh tokens to maintain long-term access.
SSPM monitors token behaviors such as:
- Tokens used from unusual IPs or geolocations
- Tokens being used outside normal business hours
- Large volumes of API queries or bulk record reads
- Tokens accessing Salesforce objects they never accessed before
In Gainsight’s case, early October API calls from suspicious IPs would have triggered alerts weeks before Salesforce detected the breach.
3. Detection of anomalous app behavior
The attackers used a known malicious user agent string (“Salesforce-Multi-Org-Fetcher/1.0”) and ran multi-org data-fetch operations—behaviors widely associated with previous OAuth-based exfiltration attacks.
SSPM would have detected:
- New user agents never seen before
- Apps suddenly making bulk data export calls
- Apps querying Salesforce objects they weren’t intended to access
- Apps accessing a significantly larger number of records than usual
These anomalies form clear behavioral red flags for token abuse.
4. Enforcing least-privilege permissions for connected apps
SSPM identifies apps with excessive permissions—common in SaaS ecosystems. Gainsight apps had wide access to Salesforce objects and token privileges that far exceeded their functional needs.
SSPM would have recommended:
- Reducing scopes
- Restricting object-level access
- Removing unused permissions
- Revoking long-dormant integrations
This significantly limits blast radius even if an OAuth token is stolen.
5. Validating critical posture controls for sanctioned and connected apps
Beyond visibility and monitoring, SSPM evaluates whether the underlying SaaS tenant and its connected apps are configured securely. Misconfigurations often create the exact conditions attackers exploit during supply chain incidents.
A mature SSPM solution identifies and continuously validates posture controls such as:
- Secure refresh-token policies enforced for connected apps
- Secure session-timeout settings to prevent long-lived access
- IP restrictions applied so connected apps operate only from trusted networks
- API and object-level access restrictions to limit data exposure
- MFA requirements for app authorization and approvals
If these controls were enforced, the stolen OAuth tokens would have been far less useful to attackers, significantly restricting token reuse, long-duration sessions, untrusted IP access, and broad API querying.
Zscaler SSPM: Purpose-built to stop connected-app supply chain attacks


Zscaler SSPM delivers every control designed to prevent, detect, and contain the type of OAuth-based supply chain attack seen in the Gainsight incident—and the screenshot above illustrates exactly why. The platform automatically discovers high-risk connected apps like Gainsight, classifies them, assigns an app-risk score, and surfaces threat intelligence directly within the admin console. In this case, Zscaler not only detected the Gainsight integration but also provided contextual threat intel describing the active breach, enabling immediate awareness and response.
Zscaler SSPM gives detailed visibility into each connected app’s permissions—covering OAuth privileges, API access, and token capabilities—so you can automatically detect risky or over-privileged integrations and reduce exposure if compromised. Continuous monitoring for suspicious API activity, combined with posture controls like IP allowlisting, token policies, API restrictions, and MFA, ensures quick detection and remediation of security gaps, stopping unauthorized access even if an OAuth token is breached.
In short, Zscaler SSPM provides the full set of capabilities to prevent, detect, and limit supply chain attacks stemming from compromised third-party integrations—ensuring connected apps cannot become a hidden backdoor into critical SaaS environments. Request a demo to learn more.
Was this post useful?
Disclaimer: This blog post has been created by Zscaler for informational purposes only and is provided "as is" without any guarantees of accuracy, completeness or reliability. Zscaler assumes no responsibility for any errors or omissions or for any actions taken based on the information provided. Any third-party websites or resources linked in this blog post are provided for convenience only, and Zscaler is not responsible for their content or practices. All content is subject to change without notice. By accessing this blog, you agree to these terms and acknowledge your sole responsibility to verify and use the information as appropriate for your needs.
Get the latest Zscaler blog updates in your inbox
By submitting the form, you are agreeing to our privacy policy.


