As reported by Dark Reading, threat actors are systematically abusing Microsoft's Graph API to enumerate Microsoft 365 tenants, identify high-value targets, and then broker that access to extortion-focused crews such as ShinyHunters. This is not a vulnerability in the traditional sense — it is an abuse of legitimate functionality, which makes it significantly harder to detect and defend against.
The attack pattern Shield53 has observed aligning with this reporting follows a familiar but accelerating trajectory: initial access through compromised credentials or device enrollment, quiet reconnaissance via Graph API calls that look like normal administrative activity, and then a handoff to a second-stage actor who monetizes the access through data theft and extortion rather than traditional encryption-based ransomware.
Why Graph API Abuse Matters
Microsoft Graph is the unified API gateway for Microsoft 365 and Azure AD (Entra ID). Every legitimate administrative tool, third-party integration, and automation pipeline uses it. That ubiquity is precisely what makes it attractive to attackers — Graph API calls blend into the noise of normal organizational activity.
The strategic problem is not that Graph API is accessible; it is that most organizations lack baselines for what normal Graph API usage looks like in their environment.
When an attacker enrolls a device through BYOD policies and authenticates with stolen or consent-phished credentials, their subsequent Graph API queries — listing users, enumerating groups, reading mailboxes, exporting SharePoint content — may not trip any alert because the activity originates from an authenticated, enrolled device.
Who Is Most Exposed
ShinyHunters and the Access Broker Economy
The involvement of ShinyHunters is notable. This group has historically operated in the data exfiltration and source-code theft space, targeting repositories and cloud storage. Their participation signals a convergence trend: initial access brokers are specializing in cloud reconnaissance while extortion crews handle the monetization layer. This division of labor means defenders face two distinct adversarial patterns from a single intrusion — reconnaissance that looks benign and extortion that arrives without warning.
Shield53 Recommendations
Immediate Actions
- Audit Graph API permissions — Review all delegated and application permissions in Entra ID. Revoke any consent grants that are unused, overly broad, or assigned to unverified publishers. Use Microsoft's
Get-AzureADMSPermissionGrantConditionSetand related cmdlets or the Entra admin center consent review workflow. - Enforce Conditional Access — Require compliant device, MFA, and named location policies for all Microsoft 365 access. Block legacy authentication protocols entirely. Apply session controls for non-managed devices.
- Enable Unified Audit Log and Graph API logging — Ensure Microsoft 365 Unified Audit Log is enabled and forward logs to your SIEM. Create detection rules for anomalous Graph API call patterns: unusual volume, off-hours spikes, access from new geographies, or bulk mailbox reads.
- Restrict BYOD enrollment — Limit mobile device enrollment to managed or MDM-enrolled devices where possible. If BYOD must be allowed, apply app-level containerization and restrict what Graph API scopes are available to personally owned devices.
- Hunt for existing compromise — Query Entra sign-in logs for service principal and delegated access patterns that deviate from baseline. Look specifically for OAuth app tokens with
Mail.Read,Files.Read.All, orDirectory.Read.Allscopes assigned outside of documented business needs.
Strategic Posture
Organizations should treat cloud identity as the new perimeter — because attackers already do. The combination of BYOD flexibility, Graph API's power, and a maturing access-broker economy means that credential theft is no longer the end of an attack but the beginning of a structured supply chain. Detection must shift from device-centric to identity-centric and API-centric telemetry. If your SOC cannot answer "who is calling Graph API and why" in near real-time, the gap will be exploited.