On Saturday 13 June 2026 at 14:11 UTC, a credential stuffing targeted a developer platform customer in the Nordics. The attack peaked at 137.7 million requests per second and lasted 54 minutes. Traffic originated from 1517 autonomous systems in 52 countries, predominantly mobile carrier ranges.
| Vector | credential stuffing |
| Peak | 137.7 million requests per second |
| Duration | 54 min |
| Time to mitigation | 0.114 s |
| Attack traffic reaching origin | 0.059% |
| Legitimate traffic challenged | 0.45% |
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 277 within 17 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
A brief increase in p99 latency of 87 ms during the first minute, then normal service.
Recommendations
- Review allow-listed partner ranges quarterly.
- Enable log streaming to your SIEM for faster correlation.
- Lower challenge thresholds on authentication endpoints during high-risk events.
Thanks — sharing this with our on-call team.
Any plans to support per-tenant limits keyed on a JWT claim?
Any plans to support per-tenant limits keyed on a JWT claim?
Thanks — sharing this with our on-call team.
Interesting that most attacks are under ten minutes. Our experience is similar.
Thanks! Yes — the risk score and its components are included in every log record.
Do you publish the edge IP ranges in a machine-readable format?
Nice to read a vendor blog that admits what went wrong.