What DevSecOps is
In the old model, the security team checked at the end, right before release, and often returned a long list that delayed it. DevSecOps builds security into the DevOps process itself: automated, continuous, and owned by everyone. Shift left means moving checks to the left on the timeline, close to when code is written.
The economics are simple: a SQL injection underlined by the IDE costs minutes to fix; the same bug found after exploitation in production costs an incident, an investigation, customer notifications and reputation.
A map of checks by stage
| Stage | Checks | Example tools |
|---|---|---|
| Plan | Threat modelling, security requirements | STRIDE, OWASP ASVS |
| Code (IDE) | SAST, secrets | SonarLint, Semgrep, gitleaks pre-commit |
| Pull request | SAST, SCA, IaC, secrets, review | SonarQube, Trivy fs, Checkov, Dependabot |
| Build | Image scan, SBOM, signing | Trivy image, Syft, cosign |
| Test / staging | DAST, API tests | OWASP ZAP |
| Deploy | Admission policy, signatures | Kyverno, PSA |
| Run | Runtime detection, CSPM, logs | Falco, AWS Config, SIEM |
flowchart LR P["Plan"] --> C["Code"] --> PR["PR"] --> B["Build"] --> T["Test"] --> D["Deploy"] --> R["Run"] R -. "feedback: incidents, new CVEs" .-> P
Shift left does not mean dropping the right
Some risks only show at runtime: server configuration, headers, real authentication, new CVEs published for deployed images. You also need to shift right: monitoring, runtime detection, regular rescans, bug bounties.
Making developers want it
- Fast: PR checks should finish in minutes; heavy scans (full DAST) run on a schedule.
- Low noise: start with high-precision rules; false positives destroy trust fastest.
- In the right place: results appear in the PR with a fix, not in a separate dashboard.
- Security champions: each team has someone with extra training who bridges to the security team.
Traps: turning on ten tools at once in blocking mode; treating DevSecOps as buying tools instead of changing the process; sending every alert to a small security team instead of the team that owns the code.