5 lessons

Secure Software Design

Secure defaults, fail closed, complete mediation, minimal trusted computing base, error handling that does not leak, and audit logs that answer questions.

Asset→Threat→Attack Surface→Trust Boundary→Vulnerability→Exploit Path→Impact→Mitigation→Defense in Depth→Residual Risk

Every lesson below identifies the asset, attacker capability and boundary before naming the vulnerability. Controls are split into prevention, detection and recovery; residual risk is explicit.