On Wednesday 23 April 2025 at 15:38 UTC, a Slowloris targeted a news publisher customer in the Nordics. The attack peaked at 638.9 million requests per second and lasted 30 minutes. Traffic originated from 1494 autonomous systems in 72 countries, predominantly mobile carrier ranges.
| Vector | Slowloris |
| Peak | 638.9 million requests per second |
| Duration | 30 min |
| Time to mitigation | 0.291 s |
| Attack traffic reaching origin | 0.073% |
| Legitimate traffic challenged | 0.54% |
Timeline
The attack was preceded by an extortion email received two days earlier. Request rates on the targeted routes exceeded their hourly baseline by a factor of 825 within 7 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
- Keep origin IPs out of public DNS history.
- Enable authenticated origin pulls.
- Enable log streaming to your SIEM for faster correlation.
Could you share the dataset behind the percentages?
Good question. We will cover that in a follow-up post.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Would love a follow-up on how you handle HTTP/3 fingerprinting.
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.
Clear and practical, thanks.
Verified good bots and allow-listed partners bypass challenges entirely.