DevOps Peach

Security (DevSecOps) · A complete DevSecOps pipeline · Lesson 1 of 4

Shift left - bringing security earlier

The earlier a defect is found the cheaper it is to fix; DevSecOps puts automated security checks at every stage from the IDE to production and makes security a shared team responsibility.

Practice interactively →

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

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.

Practice interactively →