Skip to content
Intermediate SecurityLesson 3 of 5 2 min read

Shift-Left Security

Catching vulnerabilities while a pull request is still open, instead of after it ships.

On this page5 sections

"Shift left" means moving a concern earlier in the timeline - toward the "left" end of a plan-build-test-release diagram. Applied to security, it means catching problems while code is still in review, not after it's already running in production.

Why earlier is cheaper

A vulnerability found in code review costs a few minutes to fix. The same vulnerability found by a customer, or an attacker, after release costs an incident, a scramble, and often a public disclosure. The cost of the exact same bug grows by orders of magnitude the later it's caught - the single biggest argument for building these checks straight into the pipeline from this curriculum's CI/CD lessons.

SAST: static analysis

Static Application Security Testing scans your source code directly, without running it, looking for known-dangerous patterns - string-concatenated SQL queries, hardcoded secrets, unsafe deserialization. It runs in seconds as part of a pipeline stage, on every single commit.

DAST: dynamic analysis

Dynamic Application Security Testing instead tests the running application from the outside - sending it malformed input, probing its actual HTTP responses - the way an external attacker actually would. It catches a different class of issue than SAST (real runtime behavior, not just suspicious-looking code).

Dependency and image scanning

Modern software is mostly other people's code: third-party libraries, base container images. A dependency scanner checks every library your project pulls in against a database of known vulnerabilities; an image scanner does the same for a built container image's full set of installed packages - both a natural pipeline stage right after the build step from the Docker lessons earlier in this curriculum.

Try it

Run these in the practice terminal (opens in a new tab). It opens in a new tab, so you keep your place here.
bash
docker images

When you're ready, hit Mark complete and move to the next lesson.

Challenge

List every image available locally - exactly what a container vulnerability scanner would work through.

Want to experiment first? Try things in the practice terminal (opens in a new tab), then enter the command that solves the task here.

Quiz

Lock in the concepts. Score at least 80% to mark the lesson complete.

0 of 2 answered

Done with this one?

Skipped the challenge? You can mark the lesson complete by hand.

Your notes

Kept on this browser only.