GitHub API Failed Access Burst
Detects a burst of failed GitHub API requests (HTTP 4xx/5xx) recorded as `api.request`, where a single non-bot actor and source IP generate a high volume of failures spread across many distinct API routes within a…
Description
Detects a burst of failed GitHub API requests (HTTP 4xx/5xx) recorded as `api.request`, where a single non-bot actor and source IP generate a high volume of failures spread across many distinct API routes within a short window. An adversary probing private repositories, secrets, or admin routes produces clusters of 401/403/404 responses across many endpoints, whereas broken automation usually hammers a small number of routes. Grouping by actor and source IP and requiring both a high failure count and a high number of distinct routes separates broad enumeration from a single misconfigured integration. Requires API Request Events on GitHub audit log streaming.
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
- IaaSIdentity ProviderOffice SuiteSaaS
The rule states no platform. This is derived from the ATT&CK technique it maps to.
Known benign triggers
- Broken automation, expired tokens, or inventory tools hitting renamed repositories. Review the routes and whether the token is expected.
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 |
|---|---|
| docs.github.com/en/enterprise-cloud@latest/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise#enabling-api-request-events | 15from 2 sources |
| securitylabs.datadoghq.com/articles/mapping-out-your-unknown-threat-hunters-guide-to-github/ | 3 |
From the source
- At source
- Open at source
- Upstream identifier
- 45e23f23-eb7d-460d-98ee-81c9925efd4e
- Tagged by the source as
- Data Source: GithubData Source: GitHub Audit LogsDomain: CloudDomain: SaaSPlatform: GitHubResources: Investigation GuideRule Type: ES|QLTactic: DiscoveryUse Case: Threat Detection
Licence
- Published under
- Elastic License 2.0Read the licence
- Attribution
- Required
Authorship
- Written by
- Published
- Nov 5, 2026
- Version
- 1