On Saturday 30 August 2025 at 03:00 UTC, a WebSocket connection flood targeted a ticketing customer in North America. The attack peaked at 108.0 million requests per second and lasted 56 minutes. Traffic originated from 1118 autonomous systems in 24 countries, predominantly residential proxy networks.
| Vector | WebSocket connection flood |
| Peak | 108.0 million requests per second |
| Duration | 56 min |
| Time to mitigation | 0.201 s |
| Attack traffic reaching origin | 0.051% |
| Legitimate traffic challenged | 0.01% |
Timeline
The attack was preceded by no stated motive. Request rates on the targeted routes exceeded their hourly baseline by a factor of 306 within 29 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
- Review allow-listed partner ranges quarterly.
- Enable log streaming to your SIEM for faster correlation.
- Add a dedicated rate limit for the targeted route.
The billing model is what got our finance team on board, honestly.
Is the risk score exposed in the logs so we can build our own dashboards on it?
Solid runbook advice. The DNS-at-2am point hit home.
Great write-up. We saw almost the same pattern on our login endpoint last month.
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.