On Friday 7 May 2021 at 01:04 UTC, a search endpoint flood targeted a news publisher customer in North America. The attack peaked at 519.2 million requests per second and lasted 158 minutes. Traffic originated from 607 autonomous systems in 28 countries, predominantly a headless-browser farm.
| Vector | search endpoint flood |
| Peak | 519.2 million requests per second |
| Duration | 158 min |
| Time to mitigation | 0.789 s |
| Attack traffic reaching origin | 0.050% |
| Legitimate traffic challenged | 0.60% |
Timeline
The attack was preceded by a breaking political story. Request rates on the targeted routes exceeded their hourly baseline by a factor of 759 within 30 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
The customer’s status page stayed green throughout; they learned about the attack from our notification.
Recommendations
- Enable log streaming to your SIEM for faster correlation.
- Review allow-listed partner ranges quarterly.
- Add a dedicated rate limit for the targeted route.
Great write-up. We saw almost the same pattern on our login endpoint last month.
This matches what we see in iGaming around big matches.
Great write-up. We saw almost the same pattern on our login endpoint last month.
Thanks! Yes — the risk score and its components are included in every log record.
Any plans to support per-tenant limits keyed on a JWT claim?
Good question. We will cover that in a follow-up post.
Would love a follow-up on how you handle HTTP/3 fingerprinting.
Verified good bots and allow-listed partners bypass challenges entirely.