On Wednesday 12 March 2025 at 16:20 UTC, a credential stuffing targeted a developer platform customer in Latin America. The attack peaked at 248.1 million requests per second and lasted 169 minutes. Traffic originated from 1987 autonomous systems in 70 countries, predominantly hijacked home routers.
| Vector | credential stuffing |
| Peak | 248.1 million requests per second |
| Duration | 169 min |
| Time to mitigation | 0.913 s |
| Attack traffic reaching origin | 0.023% |
| Legitimate traffic challenged | 0.01% |
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 441 within 13 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
- Add a dedicated rate limit for the targeted route.
- Review allow-listed partner ranges quarterly.
- Lower challenge thresholds on authentication endpoints during high-risk events.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
The point about origin IPs leaking through certificate transparency logs is underrated.
Solid runbook advice. The DNS-at-2am point hit home.
Good question. We will cover that in a follow-up post.