Unauthorized Scope for Public App OAuth2 Token Grant with Client Credentials
Identifies a failed OAuth 2.0 token grant attempt for a public client app using client credentials. This event is generated when a public client app attempts to exchange a client credentials grant for an OAuth 2.0…
Description
Identifies a failed OAuth 2.0 token grant attempt for a public client app using client credentials. This event is generated when a public client app attempts to exchange a client credentials grant for an OAuth 2.0 access token, but the request is denied due to the lack of required scopes. This could indicate compromised client credentials in which an adversary is attempting to obtain an access token for unauthorized scopes. This is a [New Terms](https://www.elastic.co/guide/en/security/current/rules-ui-create.html#create-new-terms-rule) rule where the `okta.actor.display_name` field value has not been seen in the last 14 days regarding this event.
Detection logic
Its licence does not clear it for publishing here
Sunturai publishes a detection's own text where the licence it arrived under has been reviewed and permits it, and Elastic License 2.0 has not. The query as its source wrote it, its canonical form and the hash that pins this revision are in the workspace record.
Detection requirements
- Platform
- ContainersESXiIaaSIdentity ProviderLinuxmacOSNetwork DevicesOffice SuiteSaaSWindows
The rule states no platform. This is derived from the 2 ATT&CK techniques it maps to.
- Log source category
- event_index
MITRE ATT&CK mappings
0 exclusive techniques.This is coverage no other published rule has; it is not this rule's total technique count.
References
| Reference | Cited by |
|---|---|
| developer.okta.com/docs/reference/api/event-types/ | 56from 2 sources |
| github.blog/news-insights/company-news/security-alert-stolen-oauth-user-tokens/ | 2 |
| www.elastic.co/security-labs/monitoring-okta-threats-with-elastic-security | 48from 2 sources |
| www.elastic.co/security-labs/starter-guide-to-understanding-okta | 48from 2 sources |
From the source
- At source
- Open at source
- Upstream identifier
- 6649e656-6f85-11ef-8876-f661ea17fbcc
- Tagged by the source as
- Data Source: OktaDomain: IdentityDomain: SaaSNoise: LowPerformance: FastPlatform: OktaProfile: RecommendedResources: Investigation GuideRule Type: New TermsTactic: Defense EvasionThreat: OAuth App ConsentUse Case: Identity and Access AuditUse Case: Threat Detection
Licence
- Published under
- Elastic License 2.0Read the licence
- Attribution
- Required
Authorship
- Written by
- Published
- Sep 20, 2026
- Version
- 3