On Friday 17 July 2026 at 17:40 UTC, a HTTP GET flood targeted a retail banking customer in Central Europe. The attack peaked at 746.4 million requests per second and lasted 156 minutes. Traffic originated from 3966 autonomous systems in 105 countries, predominantly a headless-browser farm.
| Vector | HTTP GET flood |
| Peak | 746.4 million requests per second |
| Duration | 156 min |
| Time to mitigation | 0.504 s |
| Attack traffic reaching origin | 0.023% |
| Legitimate traffic challenged | 0.42% |
Timeline
The attack was preceded by a competitor’s product launch. Request rates on the targeted routes exceeded their hourly baseline by a factor of 560 within 14 seconds. The risk score of participating clients crossed the challenge threshold automatically and proof-of-work difficulty rose with origin load.
What the customer saw
Checkout conversion was unchanged compared with the same hour of the previous week.
Recommendations
- Enable authenticated origin pulls.
- Enable log streaming to your SIEM for faster correlation.
- Review allow-listed partner ranges quarterly.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Is the risk score exposed in the logs so we can build our own dashboards on it?
This matches what we see in iGaming around big matches.
Our auditors asked for exactly this kind of incident evidence under DORA.
Great write-up. We saw almost the same pattern on our login endpoint last month.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Machine-readable ranges are at /ips.json and via the API.