Security Engineering Roadmap

Start at Level 1 and take the nine levels in order: assets and trust boundaries, then identity, application boundaries, secrets and transport, infrastructure, cloud and delivery, detection, architecture review and agent security. Every level names what it needs first and what you should be able to do before moving on. Progress is stored locally in your browser.

Where to start

0 / 38 lessons masteredNot started 38Learning 0Practicing 0Mastered 0
  1. 1

    Level 1 · Think in assets and boundaries

    Start here
    0/4

    The vocabulary every later level uses. What you are protecting, the three questions of the CIA triad, what a trust boundary is and why an assumption must be re-validated at every crossing, and a repeatable threat-modeling process. Nothing here is a vulnerability yet; it is how you decide which vulnerabilities matter.

    Before moving on: Name the assets, actors and entry points of a small system, draw its trust boundaries, and list its top threats in STRIDE terms.

  2. 2

    Level 2 · Establish and constrain identity

    0/5

    The first boundary a request crosses is "who is this?" and the second is "what may they do?". Authentication and authorization are separated on purpose, then each is built: password storage that survives a stolen table, sessions that can be inspected and revoked, and authorization models layered in the right order. Broken access control closes the level because it is the most common serious bug in real APIs.

    Before moving on: Explain why an authenticated GET /invoices/101 still needs an ownership check, choose a password hash and session design, and pick the authorization model a feature calls for.

  3. 3

    Level 3 · Defend application boundaries

    0/6

    The same failure in several costumes: data crossing a boundary and being interpreted as instructions. The browser origin model first, then XSS, CSRF and SQL injection as boundary failures rather than trivia, then the API pipeline of parse → validate → authenticate → authorize → process. Sessions and authorization from Level 2 are what CSRF and IDOR abuse.

    Before moving on: Trace one request from browser to database, say at which hop XSS, CSRF and SQL injection happen, and put output encoding, parameterization and validation at the right hop.

  4. 4

    Level 4 · Protect secrets and transport

    0/4

    Enough cryptography to use it correctly: hashes, MACs, signatures, keys, nonces, and the rule to use established protocols instead of your own. TLS is treated as a boundary with a precise guarantee for one hop, so you can say what "we use HTTPS" does not cover after Level 3. Secrets management and the secret lifecycle turn credentials into something with a scope, an owner and a rotation.

    Before moving on: Choose hash versus MAC versus signature for a given need, state what TLS guarantees and what it does not, and describe a secret from creation through rotation to revocation.

  5. 5

    Level 5 · Limit infrastructure blast radius

    0/4

    Assume the application is compromised and ask what the attacker reaches next. Database privileges, network segmentation with explicit narrow crossings, privilege separation between setup and request handling, and what a container does and does not isolate. It comes after application and secret controls because these layers are what catch the failures those controls miss.

    Before moving on: Given a compromised web process, list what it can reach in the database, the network and the host, and name the control that shrinks each reach.

  6. 6

    Level 6 · Secure cloud and delivery

    0/4

    The same identity and privilege thinking applied to machines and pipelines. IAM as principal → action → resource → condition, short-lived credentials that replace stored secrets, and the supply chain and CI/CD paths through which code you did not write runs with your authority. Needs the secret lifecycle from Level 4 and the blast-radius habit from Level 5.

    Before moving on: Write a least-privilege IAM policy for one workload, replace a long-lived key with a short-lived credential, and point at where a pull request from a fork must lose trust in CI.

  7. 7

    Level 7 · Detect and recover

    0/4

    Prevention fails, so the rest of the loop matters: which tests find which class of bug, how telemetry becomes a detection with an owner, how to prioritise vulnerabilities by exposure instead of CVSS, and the incident lifecycle from containment to learning. It sits here because you need the earlier controls to know what a signal or a finding means.

    Before moving on: Pick the security test that finds a given bug class, write one detection with its response path, and order the first hour of an incident response.

  8. 8

    Level 8 · Review architectures

    0/3

    Put the levels together on whole systems. The ten-question security review turns the threat-modeling process from Level 1 into something you can run on any diagram in an hour, defense in depth asks what the next layer does when a control fails, and secure design principles make the safe path the default. Practise on the threat-model case studies and in Secure This Architecture.

    Before moving on: Review an unfamiliar architecture diagram and produce specific findings, each naming the boundary, the missing control and the layer that would catch its failure.

    Open Secure This Architecture →
  9. 9

    Level 9 · Secure agentic production systems

    0/4

    Agents add untrusted language, retrieved documents and memory to the input side and tools to the output side. Prompt injection is Level 3's boundary failure in a new costume, the model is never the authorization layer from Level 2, and sandboxing is Level 5's blast-radius question applied to code execution. Last because it reuses every earlier level.

    Before moving on: Design an agent so that a prompt injection in a retrieved document cannot trigger a privileged action, with the policy check, the approval step and the sandbox each named.