ACME HQDemo work items and pages, made up for Emargen's demo. Not a real company.
Engineering / Engineering / Runbooks

Runbook: credential stuffing and lockouts

By Oskar Lund · created 4 Sep 2026, 08:10 UTC · last updated 14 Sep 2026, 14:00 UTC · version 4

runbooksecuritysign-inlockout

Written after OPS-41, the night of Wed 2 Sep, when password sign-in in the EU region took about 1.9 million attempts in three hours from lists of email and password pairs stolen elsewhere. Summary: OPS-41.

How you'll know

Single sign-on depots and phone codes are not affected by a password attack; check the sign-in log's method column.

What protects us since 10 September

LayerRule
Edge (AWS WAF)rate-based rule on the sign-in endpoints per IP address (OPS-42); known bad address lists
identity-serviceten failed passwords in 15 minutes lock the account for 15 minutes (ENG-1705)
Phone codesfive tries per code, then 15 minutes
Administratorsmust use MFA

Steps

  1. Open an OPS ticket. SEV2 if sign-in still works for real people; SEV1 if it doesn't.
  2. In CloudWatch, look at the top source addresses and networks for failed sign-ins in the last 30 minutes.
  3. If the rate rule isn't holding, add a temporary WAF rule blocking the worst networks. Tag it with the OPS key and an expiry.
  4. Check for successful sign-ins from the attacking addresses: sign-in log, method password, those addresses. Any hit: revoke the person's sessions, force a password reset, and tell Mira at once.
  5. Post on the status page if real people can't sign in.
  6. Next morning: Mira decides what customers are told. Support writes to administrators of affected clients.

What not to do

Change history

VersionDateWhoWhat
14 Sep 2026OskarAfter OPS-41, with the temporary rules
310 Sep 2026OskarLockout and edge limits live
414 Sep 2026MiraWho decides what customers are told