Secure Software Development Lifecycle

Work in progress. This note is still being written and incomplete.

Security must be built into every phase of the SDLC, not bolted on as a final checklist. Fixing vulnerabilities early cuts remediation cost and deployment delay.

Core Security Pillars

Threat modeling finds attack vectors and design flaws during architecture, before code is written. Secure coding applies defensive standards against common flaws like SQL injection, XSS, and buffer overflows. Dependency management scans and updates third-party components against supply chain attacks. Automated testing runs SAST and DAST in the CI/CD pipeline. Identity management enforces strong authentication, MFA, and RBAC. Data protection encrypts sensitive data at rest and in transit.

Core Security Design Principles

Foundational guidelines that hold across all languages and architectures. They should not be relaxed for a specific customer or environment.

Least privilege grants only the minimum access rights needed for a task. Defense in depth stacks redundant layers of controls, so one failed layer does not expose the system. Fail securely means an error or crash lands in the most secure state. Complete mediation checks access rights on every request, never on cached permissions. Open design keeps security independent of secret implementation or source. Minimizing the attack surface disables unused features, ports, and protocols. Psychological acceptability keeps security intuitive so users do not bypass it.

The Secure Software Development Framework formalizes these into 4 pillars.

Secure Software Development vs Secure Application Development

Secure software development covers the whole ecosystem. It sets engineering rules, secure coding standards, threat modeling, and pipeline architecture for any component. It is proactive and shift-left.

Secure application development is the narrower subset. It secures a finalized, running application through session management, input validation, authentication flows, and encryption. It is reactive and operational.

MetricSecure Software DevelopmentSecure Application Development
Primary approachProactive, embed security before deploymentReactive and operational, guard the running system
Technical focusSource code logic, dependency supply chain, framework integrityVulnerabilities, APIs, server configuration, environment endpoints
Testing toolsSAST, SCA, manual architecture reviewDAST, IAST, WAF configuration, penetration testing
Core goalBuilding software right across all componentsProtecting one application in production
Written by September 3, 2026 2 min read
Was this helpful?