Module 15 · State Machines Have More Edges Than You Think

Manish Garg
Manish Garg Associate of (ISC)² · RingSafe
Apr 27, 2026
1 min read
Read as

Last updated: April 29, 2026

100% Free

No signup. No paywall. No catch. One of our 10 most-requested practitioner modules — published in full so anyone can learn for free. We earn through consulting, not by gating knowledge.

See all 10 free modules →

Every web app is a state machine. Order = pending → paid → shipped → delivered. State transitions have rules. The rules have gaps.

Every web app is a state machine. Order = pending → paid → shipped → delivered. State transitions have rules. The rules have gaps.

Attackers enumerate edges adversarially: can I go from pending to delivered, skipping paid? Can I cancel after shipped? Can I trigger paid → paid (double payment processing)?

The mindset: draw the state machine. For every state pair, ask “can the user force this transition?” The unintended yes-es are the bugs.

🧠
Check your understanding

Module Quiz · 2 questions

Pass with 80%+ to mark this module complete. Unlimited retries. Each question shows an explanation.

Want this for your team?

Custom team training + practitioner advisory

Beyond the free academy — we run private workshops, vCISO advisory, and red-team exercises tailored to your stack. For Indian SMBs scaling past their first hire.

Book team training call Replies in 4 working hrs · India-only · Senior consultants