On Sunday 8 February 2026 at 08:55 UTC, a login endpoint flood targeted a retail banking customer in the Benelux. The attack peaked at 330.8 million requests per second and lasted 48 minutes. Traffic originated from 1054 autonomous systems in 22 countries, predominantly a headless-browser farm.
| Vector | login endpoint flood |
| Peak | 330.8 million requests per second |
| Duration | 48 min |
| Time to mitigation | 0.672 s |
| Attack traffic reaching origin | 0.000% |
| Legitimate traffic challenged | 0.44% |
Timeline
The attack was preceded by a hacktivist channel announcing the target. Request rates on the targeted routes exceeded their hourly baseline by a factor of 748 within 31 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
No customer-visible impact. The on-call engineer was notified and acknowledged the incident from the dashboard.
Recommendations
- Enable authenticated origin pulls.
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Review allow-listed partner ranges quarterly.
Could you share the dataset behind the percentages?
Great write-up. We saw almost the same pattern on our login endpoint last month.
How do you avoid challenging uptime monitors and partners?
Carpet bombing is nasty. Good to see a clear explanation of it.
Any plans to support per-tenant limits keyed on a JWT claim?
Machine-readable ranges are at /ips.json and via the API.
How do you avoid challenging uptime monitors and partners?
Nice to read a vendor blog that admits what went wrong.
Nice to read a vendor blog that admits what went wrong.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Verified good bots and allow-listed partners bypass challenges entirely.