Skip to main content

Labs

Every deployment and security scenario I want to have worked through, as one list. Each lab shrinks a real incident to something that runs on a laptop: break it, diagnose it, fix it, prove the fix with a check that fails on a cover-up, then write a five-line retro. The write-up of what each finished lab taught is in the notebook.

Solved
4
Ready to solve
40
Not built yet
200
Lines
244
Tracks
4

What every lab is

  1. 1Break itA real incident, shrunk to something that runs on a laptop.
  2. 2Diagnose itFind the cause from the symptoms, not from the answer.
  3. 3Fix itThe smallest change that removes the cause.
  4. 4Prove itA check.sh that fails on a cover-up, not only on the bug.
  5. 5Write it downA five-line retro: what broke, why, what it taught.
and again, on the next lab

The tracks

Every line, one square

  • Solved
  • Built, ready to solve
  • Not built yet

A

B

C

D

Built, ready to solve · 40

  1. 05Resource Starvation due to Misconfigured Requests & LimitsA4
  2. 06Replay Attack via Insecure WebhooksA7
  3. 07Graceful Shutdown (PID 1 ignores SIGTERM)A2
  4. 08JWT Replay Due to No Expiry ValidationA7
  5. 09Unsecured Redis Allows Remote AccessA2
  6. 10Credential Rotations Not PropagatedA1
  7. 11Escalating Build Times Due to Dependency BloatA2
  8. 12Pod Crash on Timezone MismatchA2
  9. 13Forgotten Default CredentialsA2
  10. 14Post-Deployment Failure Due to Missing MigrationA3
  11. 15Rate Limiting Not Enforced on Public APIA7
  12. 16DoS Attack via Large JSON BodyA7
  13. 17Log Injection Attack on Centralized LoggingA7
  14. 18Silent Data Loss from Wrong Volume MountA4
  15. 19Alert Not Fired Due to Misconfigured LabelA8
  16. 20Producer-Consumer with Bounded BufferB1
  17. 21Circuit Breaker ImplementationB2
  18. 22Cache with Expiration & EvictionB3
  19. 23Leader Election in a ClusterB4
  20. 24Build a Job Queue from ScratchB5
  21. 25Improper RollbackC3
  22. 26Environment DriftC3
  23. 27Model Theft via APIC4
  24. 28Silent Job FailuresC5
  25. 29Protecting AI Model ArtifactsC2
  26. 30S3 Bucket Data Leak SimulationD1
  27. 31Parameter Store Used Insecurely in Plain TextD1
  28. 32SQS Message Flood Unprocessed, Causes LatencyD4
  29. 33Zombie Resources Driving Up Cloud BillD5
  30. 34Secrets Manager Rotation Fails SilentlyD5
  31. 35Overprivileged Service Accounts in K8sA5
  32. 36Expired TLS Cert Brings Down FrontendA6
  33. 37Drift in IaC DeploymentsA9
  34. 38Build a Mini HTTP ServerB6
  35. 39Network Partition SimulationB7
  36. 40Transaction Isolation Levels SimulationB8
  37. 41BatchingC1
  38. 42Model Speed vs AccuracyC6
  39. 43API Gateway Key Rotation Breaks ClientsD2
  40. 44Security Group Too Permissive for JumpboxD3

Track A · DevOps & security (local)4 / 22 / 78

Track B · Distributed systems0 / 8 / 48

From system_design_scenarios.md. Each one: build a small version (Python or Go), then a test harness injects the failure. The interview follow-up questions in the original file make a good retro.

Track C · AI systems & security0 / 7 / 83

Track D · Cloud0 / 7 / 35

Real AWS scenarios. The labs built so far run free on local emulators (MinIO for S3, moto for the rest), making the same API calls as real AWS, and each lab says what the emulator can't prove. Anything that needs a real account costs money, so we'll confirm first.

Generated from opz/labs/CHECKLIST.md at build time; ticking a line there ticks it here. Where several of my original scenarios were the same exercise, they share a line and are listed under “Also covers”.