A defensive security tool built to help Salesforce administrators find misconfigurations has been repurposed into a mass-scanning weapon. ShinyHunters told reporters the campaign began in September 2025, modifying Mandiant's open-source AuraInspector into an automated CRM data harvester, quietly targeting hundreds of organizations, before Salesforce issued a public warning in early March 2026.
This campaign is ongoing. The information in this article reflects what has been publicly confirmed or credibly reported as of March 12, 2026. Several elements remain unresolved and may change: Salesforce has not independently confirmed ShinyHunters as the named threat actor; the group's claim of a second bypass method affecting correctly configured instances has not been verified by any independent researcher and is disputed by Salesforce; and the full scope of affected organizations has not been publicly established. As Salesforce, Mandiant, and affected customers continue their investigations, new disclosures, patches, or retractions may alter the picture. If you are reading this after publication, check the Salesforce advisory and Mandiant's threat intelligence pages for the latest guidance before acting on the remediation steps here.
When Mandiant published AuraInspector in January 2026, the intent was straightforward: give Salesforce administrators a command-line tool to audit their own Experience Cloud environments before attackers could exploit them. The release was accompanied by a detailed technical writeup documenting the exact misconfigurations that had been showing up in real-world engagements. Within weeks, a known threat actor group had stripped the tool for parts, extended its capabilities, and pointed it at the internet at scale.
That is exactly what has happened here. Salesforce issued a public advisory on March 7, 2026, confirming that its Cyber Security Operations Center had been tracking a campaign in which malicious actors were exploiting overly permissive Experience Cloud guest user configurations to extract data those organizations never intended to make public. The company was careful to frame the issue as a configuration problem, not a platform vulnerability. That distinction matters legally and reputationally for Salesforce, but for the hundreds of organizations now on the receiving end of extortion demands, it offers little practical comfort.
What Is AuraInspector and Why It Matters
Salesforce Experience Cloud is a platform that lets organizations build customer portals, partner portals, and public-facing websites that pull data directly from their Salesforce CRM instance. It is the mechanism through which a company might let customers check order status, reset a password, or browse a knowledge base without logging in. The Aura framework underpins the modern Lightning Experience UI that powers these sites, handling the component-based rendering and the API layer that sits between the browser and Salesforce data.
/s/sfsites/aura endpoint is, by design, a data-serving endpoint accessible from the browser without requiring a traditional API key. That is how it serves public portal pages. The issue is that the same endpoint, when the guest user profile carries object-level read permissions, will happily return CRM records to any caller — whether that caller is a legitimate portal user or a threat actor's scanning tool. The attack exploits the architecture behaving as intended, not behaving incorrectly.
Every publicly accessible Experience Cloud site is assigned a guest user profile. This profile defines what an anonymous, unauthenticated visitor is allowed to see and do. When configured correctly, a guest can view public-facing pages and nothing else. When configured too broadly — which Mandiant's research found to be a widespread condition — a guest user profile can carry permissions that allow direct, unauthenticated querying of Salesforce CRM objects such as Accounts, Contacts, and Leads.
AuraInspector, in its legitimate form, is a command-line tool designed to simulate an unauthenticated visitor and automatically probe the API endpoints that Experience Cloud sites expose. Specifically, it targets the /s/sfsites/aura endpoint, which Aura-based sites use to handle data requests. The tool identifies which objects are accessible to guest users and flags configurations where sensitive records could be retrieved without authentication. Mandiant released it with the explicit goal of making the audit process accessible to administrators who might otherwise lack the technical knowledge to probe these surfaces manually.
According to Mandiant's January 2026 Google Cloud Blog post, AuraInspector was built to give defenders and administrators a way to identify access control misconfigurations and potential data exposures in the Salesforce Aura framework from an external, unauthenticated perspective — precisely the vantage point an attacker would use. — Mandiant / Google Cloud Blog, January 2026
The tool's value as a defensive instrument is real. The problem is that a tool that can automatically discover and enumerate exposed data objects is, structurally, also an offensive reconnaissance tool. The only meaningful difference between using it to find your own exposure and using it against someone else's site is authorization. OSS dual-use
How the Attack Actually Works
The threat actors scanned large swaths of the internet for publicly accessible Salesforce Experience Cloud instances by probing for the /s/sfsites/ endpoint. Any server responding at that path is running the Aura framework and is added to the target list. This phase requires no authentication and leaves traffic indistinguishable from ordinary browser activity.
To further blend in, scanning traffic used a spoofed standard browser user agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36. Without behavioral analysis or anomaly detection on query volume, this traffic looks like regular web browsing in event logs.
The modified AuraInspector queries each identified site's /s/sfsites/aura endpoint to determine whether the guest user profile has excessive permissions. It enumerates CRM objects (Contacts, Accounts, Leads) and tests which ones return records to an unauthenticated caller. If an object returns data, the site is marked for extraction.
This is the phase where the original defensive tool's logic is inverted. AuraInspector was designed to report misconfigured objects to a legitimate admin. The weaponized version sends that report to the attacker.
Once a misconfiguration is confirmed, extraction begins automatically. Salesforce's official advisory confirmed that the actor's custom version went beyond simply identifying exposed objects and proceeded to extract the actual data — the key functional addition beyond the original tool. The accessible data can include full names, phone numbers, organizational relationships, and any CRM object the guest profile can read.
AppOmni noted that the same misconfiguration enabling read access can also allow self-registration on the portal, escalating a guest exposure into an authenticated session with significantly broader access.
Early in the campaign, attackers hit a Salesforce platform constraint: the standard Aura API caps record retrieval at 2,000 entries per query. For large organizations, this was a bottleneck. The threat actors discovered that the sortBy parameter, combined with cursor-based pagination via the GraphQL controller (accessible at the same /s/sfsites/aura endpoint), bypasses this cap entirely.
Salesforce confirmed this is not a platform vulnerability: GraphQL still respects underlying object permissions. The issue is that with a misconfigured guest profile, there are no meaningful permissions to respect — so the bypass removes any practical extraction ceiling.
ShinyHunters told BleepingComputer that Salesforce patched the sortBy method over the weekend before issuing its March 7 advisory — and that the group had already found a second bypass method before that patch shipped.
Extracted CRM data — names, phone numbers, organizational context — feeds two parallel post-exfil activities. First, ShinyHunters posts victims to its dark web extortion listing with a deadline and Bitcoin address. Organizations that do not pay face public disclosure. Second, the harvested directory becomes raw material for targeted vishing campaigns.
In prior ShinyHunters ecosystem operations documented by Mandiant, the cluster tracked as UNC6661 impersonated IT staff, directing targets to enter SSO credentials and MFA codes on victim-branded credential harvesting sites. UNC6240 (ShinyHunters) then conducted the extortion phase. The CRM data harvested in this campaign makes those vishing calls significantly more credible: callers already know the target's name, title, phone number, and organizational context. The reconnaissance and the social engineering phase are parts of the same operation, separated by weeks or months. Kill chain
The modified version of AuraInspector used in this campaign goes beyond the original tool's scope in one critical way: it does not stop at identification. Where the legitimate tool flags a misconfigured object and generates a report, the weaponized variant goes on to extract the data from that object. Salesforce's official advisory confirmed the actor's custom version went beyond flagging misconfigurations and proceeded to actively pull the underlying records, exploiting overly permissive guest user settings at scale. Reporting from TechRadar and CyberInsider suggests the scanning and extraction phases may have used distinct tooling — with the modified AuraInspector primarily serving the reconnaissance and identification function, and a separate unnamed custom tool handling the record extraction itself. Salesforce's advisory does not distinguish between the two phases at that level of detail, but the distinction matters for detection: organizations looking for AuraInspector-like traffic patterns in their logs may still have experienced data extraction that left a different signature. At Scale
Mandiant's original research documented a method using Salesforce's GraphQL controller, accessed via the same /s/sfsites/aura endpoint, that bypasses the 2,000-record limit. The GraphQL controller allows cursor-based pagination, enabling retrieval of all records tied to a misconfigured object without a cap. Salesforce confirmed this is not an inherent vulnerability: GraphQL still respects the underlying object permissions. The issue is that with a misconfigured guest profile, there are no meaningful permission restrictions to respect. ShinyHunters claimed Salesforce fixed the sortBy bypass over the weekend before its March 7 advisory — a claim BleepingComputer was unable to independently confirm. ShinyHunters subsequently claimed to have identified a second bypass method affecting even correctly configured instances — a claim Salesforce disputes and which has not been independently verified as of this writing.
The scanning traffic was deliberately camouflaged using a standard browser user agent string — Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36 — to blend in with ordinary web traffic in event logs. Once inside a misconfigured environment, the data accessible to an unauthenticated attacker could include Contact records with full names and phone numbers, Account records with organizational relationships, Leads with sales pipeline context, and potentially any CRM object to which the guest profile had been granted visibility. AppOmni security researchers noted that the same guest user misconfiguration that exposes names and phone numbers can also be exploited to self-register a portal account, escalating a guest-tier exposure into an authenticated session with access to a far broader set of data.
/s/sfsites/aura endpoint from the same source IP, or for specific action message signatures like ACTION$executeGraphQL combined with a Guest role. This is exactly what AppOmni's published detection rule targets. Organizations without Salesforce Event Monitoring enabled have no practical way to detect the scanning retroactively.
ShinyHunters and the Salesforce Aura Campaign
Salesforce's advisory referred to the activity as coming from "a known threat actor group" without naming the party. Security researchers and press reporting quickly identified the likely actor as ShinyHunters, tracked by Google's Threat Intelligence Group as UNC6240. The group posted a listing on its data leak site titled "Salesforce Aura Campaign," warning that "several hundred companies" would face public data exposure if extortion demands were not met.
ShinyHunters warned affected organizations on their dark web listing that a final warning and complete data release would follow if no response was received — framing the message as a preliminary notice before escalation. — ShinyHunters, via their dark web data leak site, March 2026
ShinyHunters told BleepingComputer that the campaign began in September 2025, well before Mandiant released AuraInspector as a defensive tool. In those early months, the group was identifying Aura instances manually and working within the 2,000-record query constraint. When Mandiant published AuraInspector in January 2026 as an administrator-facing diagnostic utility, ShinyHunters says it modified the code to add mass-scanning capabilities and automated extraction. The group confirmed to BleepingComputer that the attacks used the spoofed browser user agent to evade log-based detection.
The scale of claimed impact is notable. ShinyHunters told BleepingComputer that the total number of compromised organizations sits between 300 and 400, with roughly 100 described as high-profile companies, a significant proportion of them in the cybersecurity industry. Among the companies cited by the group in separate communications were Snowflake, LastPass, Okta, AMD, Sony, and Salesforce itself. The group has a documented history of large-scale data theft and extortion, including a 2024 campaign targeting Snowflake customer databases that affected more than 160 organizations.
Charles Carmakal, Chief Technology Officer at Mandiant, confirmed the firm's awareness of the misuse of its tool, providing a statement to multiple outlets:
“Scanning activity alone does not confirm compromise.” — Charles Carmakal, CTO, Mandiant
Carmakal added a qualifier that organizations reviewing their own logs should keep in mind: detecting AuraInspector scanning activity does not, by itself, confirm that data was successfully extracted. Scanning and extraction are distinct phases. An organization whose logs show Aura endpoint probing may have been scanned without being compromised, depending on whether the guest user profile at the time of the scan actually carried excessive permissions. That distinction matters for incident response prioritization.
Of the high-profile organizations publicly cited by ShinyHunters — Snowflake, LastPass, Okta, AMD, Sony, and Salesforce itself — only LastPass issued any public acknowledgment in the immediate aftermath.
This is not ShinyHunters' first engagement with Salesforce environments. Google's Threat Intelligence Group has documented prior campaigns in which the group, operating as UNC6240, targeted Salesforce data through third-party SaaS integrations. In separate earlier operations, the group abused compromised OAuth access tokens from Salesloft/Drift integrations, and separately, compromised Gainsight connected app access in a campaign reported in November 2025. In those earlier operations, the group relied heavily on vishing to harvest Okta SSO credentials and MFA codes before pivoting to connected applications. Credential-free The current campaign represents a tactical shift: no credentials are required at all if the target's guest user profile is permissive enough.
Denis Calderone, CTO and Principal at Suzu Labs, described the progression clearly: "Last time, the attackers vished their way into Okta SSO credentials and exploited third-party integrations like Gainsight. Since then, they've gone even more direct, using a weaponized version of the Mandiant-developed Aura Inspector tool to mass-scan Experience Cloud sites for misconfigured guest user permissions. They don't even need credentials for this one."
Campaign Timeline
sortBy parameter technique against the GraphQL controller to eliminate the 2,000-record extraction ceiling. Spoofed browser user agents are added to evade log-based detection.API Enabled permission from the guest user profile.From CRM Data to Vishing: The Full Kill Chain
What makes this campaign particularly concerning is not just the data harvested in the initial scan — it is what that data enables next. Salesforce's own advisory flagged this escalation path explicitly, noting that names and phone numbers harvested in these scans are regularly repurposed to build targeted voice phishing campaigns against the same organizations. Kill chain
The logic of the kill chain is straightforward. A misconfigured Experience Cloud portal might expose Contact records for every customer or partner an organization manages. An attacker who extracts that data now has a verified directory of real names, phone numbers, and organizational relationships — information that would otherwise require significant social engineering effort to compile. That directory becomes the raw material for voice phishing calls that carry an unusual degree of credibility: the caller already knows who you work with, what your title is, and potentially what products or services your company uses.
AppOmni researchers documented this connection directly, noting that coordinated campaigns routinely follow this sequence: harvest CRM data, use it to make vishing calls credible, then escalate into full SaaS compromise. In their assessment, a guest user misconfiguration that exposes names and phone numbers can serve as the opening link in a kill chain that ends with a serious data breach. (AppOmni, March 2026)
In previous ShinyHunters ecosystem operations, as documented by Mandiant's Google Threat Intelligence Group in a January 2026 report, the cluster tracked as UNC6661 deployed impersonators posing as IT staff, directing victims to enter SSO credentials and MFA codes on attacker-controlled credential harvesting sites. UNC6240 (ShinyHunters) then conducted the extortion phase — sending ransom demands via ShinyHunters-branded email, specifying a Bitcoin payment address and a 72-hour deadline, with proof of data theft provided via samples hosted on Limewire. Victims who did not respond faced additional pressure: SMS messages sent to individual employees, and in some cases, distributed denial-of-service attacks against company websites.
The current AuraInspector campaign represents the reconnaissance phase that feeds into that extortion pipeline. Organizations that appear in ShinyHunters' "Salesforce Aura Campaign" listing may not yet realize that the first step in the attack against them happened months ago, when their publicly accessible Experience Cloud portal quietly handed over its Contact directory to an automated scanning tool.
What Salesforce Admins Must Do Now
Salesforce's advisory is unambiguous: the issue lies with customer-configured settings, and remediation is the customer's responsibility. The platform itself has not been compromised. That framing is accurate but should not be read as reassuring. Misconfigured guest user profiles are common precisely because the Experience Cloud setup process involves many permission layers, and organizations frequently prioritize getting a portal working over auditing every access control setting in detail.
The highest-impact single action, according to Salesforce, is removing the API Enabled permission from the guest user profile. This closes the Aura endpoint to unauthenticated API queries entirely, which is the exact vector used in this campaign. For organizations whose Experience Cloud portals require guest users to have some API access, the full remediation set requires more nuanced review.
API Enabled from the guest user profilewith sharing and explicitly enforce CRUD/FLS checks using Schema.SObjectType before returning records. The Aura framework's default behavior does not automatically enforce field-level security at the controller level — classes declared without sharing or inherited sharing will bypass the org-wide sharing model entirely when called by a guest user. Review all @AuraEnabled methods for this pattern./s/sfsites/aura from unfamiliar IPs. AppOmni published an Elastic/SIEM detection rule that targets the campaign's exact signature: ACTION$executeGraphQL actions from Guest-role users via the AuraRequest event provider matching the spoofed Chrome user agent. Establish a behavioral baseline for normal Aura query volume so anomalous spikes are detectable without relying on known-bad indicators alone.AppOmni published a specific Elastic/SIEM detection rule targeting the campaign's request signature. The query looks for Aura events where the action message contains ACTION$executeGraphQL, user roles contain Guest, the event provider equals AuraRequest, and the user agent matches the spoofed string used in the campaign. Organizations with Salesforce Event Monitoring enabled can run this query against their logs immediately.
Louis Eichenbaum, Federal CTO at ColorTokens, placed the incident in a broader SaaS security context, arguing that organizations must treat SaaS platforms as part of their full security architecture and apply zero-trust principles, phishing-resistant identity controls, and continuous configuration monitoring to prevent data exposure — and that access of this kind should be locked down by default and opened only when there is a specific operational need. (ColorTokens, March 2026)
The broader implication is that configuration drift is the attack surface. Salesforce provides the tools to configure these permissions correctly. The challenge is that Experience Cloud environments evolve over time — new portals are stood up, new objects are created, permissions get adjusted by different administrators across different projects — and periodic security reviews often lag behind the operational pace of change. This campaign is a measurable consequence of that gap.
Key Defender Takeaways
- Defensive tools can be weaponized quickly. Mandiant released AuraInspector in January 2026 to help administrators audit their own environments. Within weeks, a threat actor group had extended it into a mass-scanning and data extraction tool. The release of any public-facing security research tool that maps an attack surface will be evaluated by adversaries for offensive utility. Organizations should treat a tool's release as a prompt to audit their own exposure, not a reason to wait. OSS dual-use
- No credentials required does not mean low risk. This campaign required no phishing, no stolen passwords, and no social engineering for initial access. A misconfigured guest user profile was sufficient. The absence of an authentication requirement made the attack easier to automate at scale and harder for organizations to detect, since the traffic looked like ordinary browser activity. Credential-free
- CRM data exposure feeds the next attack layer. Names and phone numbers extracted from a Salesforce portal are not the end goal. They are the raw material for targeted vishing campaigns that impersonate IT staff or executives with enough specific knowledge to be convincing. The data theft and the social engineering phase are parts of the same operation, separated by weeks or months. Kill chain
- The highest-impact remediation is single and specific. Removing the
API Enabledpermission from the guest user profile closes the primary attack vector used in this campaign. Salesforce identified this as the single highest-impact change an administrator can make. Organizations that have not yet reviewed their guest user profile settings should treat this as an urgent action item, not a scheduled maintenance task. - SaaS misconfiguration is systemic risk, not individual error. Amir Khayat, co-founder and CEO of Vorlon, described the core pattern: attackers found that a large number of Experience Cloud sites had guest user permissions set too broadly, then built specialized tooling to scan for and exploit that condition across hundreds of organizations at once. (Vorlon, March 2026) The breadth of the alleged impact — 300 to 400 organizations — reflects how widespread this misconfiguration pattern is across the Salesforce customer base, not a failure unique to any single organization. At Scale
The shift from credential-based initial access to configuration-based initial access represents a meaningful tactical evolution for the threat actors involved. When the attack surface is a misconfiguration rather than a credential, phishing-resistant MFA and password hygiene provide no protection. The relevant control is configuration hygiene: knowing exactly what your public-facing systems expose, to whom, and under what conditions. For organizations running Salesforce Experience Cloud, that audit is no longer optional.
- Salesforce. (March 7, 2026). Protecting Your Data: Essential Actions to Secure Experience Cloud Guest User Access. salesforce.com
- Mandiant / Google Cloud Blog. (January 2026). AuraInspector: Auditing Salesforce Aura for Data Exposure. cloud.google.com
- Toulas, B. BleepingComputer. (March 9, 2026). ShinyHunters claims ongoing Salesforce Aura data theft attacks. bleepingcomputer.com
- The Hacker News. (March 10, 2026). Threat Actors Mass-Scan Salesforce Experience Cloud via Modified AuraInspector Tool. thehackernews.com
- Mandiant / Google Threat Intelligence Group. (January 31, 2026). Vishing for Access: Tracking the Expansion of ShinyHunters-Branded SaaS Data Theft. cloud.google.com
- AppOmni. (March 2026). What is the Salesforce GraphQL Exploit and What You Should Do. appomni.com
- Kovacs, E. SecurityWeek. (March 11, 2026). Hundreds of Salesforce Customers Allegedly Targeted in New Data Theft Campaign. securityweek.com
- SC Media. (March 11, 2026). Salesforce confirms ShinyHunters exploited Experience Cloud sites. scworld.com
- IT Pro. (March 11, 2026). Salesforce issues customer alert as ShinyHunters group claims Experience Cloud breach. itpro.com
- Salesforce Ben. (March 10, 2026). ShinyHunters 'Breach 400 Companies' via Salesforce Experience Cloud. salesforceben.com
- Security Affairs. (March 10, 2026). Threat actors use custom AuraInspector to harvest data from Salesforce systems. securityaffairs.com