Instiq
Chapter 4 · Develop a Security and Compliance Plan·v2.0.0·Updated 6/4/2026·~11 min

What's changed: Deepened AZ-400 Chapter 4 (added comparison tables, scenarios, FAQs, exam traps, deep-dive paragraphs to each section; localized figures to Japanese)

4.1Integrating Security into Pipelines (DevSecOps)

Key points

Understand shifting security left—SAST/DAST, dependency scanning, container image scanning, IaC scanning, and GitHub Advanced Security. Detect vulnerabilities early in the pipeline.

DevSecOps shifts security left (earlier). Embed scans in the pipeline to stop vulnerabilities before production.

4.1.1Types of scanning

Diagram embedding DevSecOps scans in the pipeline: at commit/build, run SAST (static analysis finds source vulnerabilities), dependency scanning (known OSS vulnerabilities = SCA), IaC scanning (template misconfigurations), and container image scanning (image vulnerabilities); against the deployed runtime, run DAST (dynamic analysis); integrated via GitHub Advanced Security (code scanning/secret scanning/dependencies), halting the pipeline if any fails a threshold—shift-left flow.
Security integrated into the pipeline
  • SAST: static analysis to find source-code vulnerabilities (pre/during build).
  • Dependency scanning (SCA): detect known vulnerabilities in OSS libraries.
  • Container/IaC scanning: detect image vulnerabilities and template misconfigurations.
  • DAST: dynamic analysis on a running app post-deployment.
Exam point

Common on AZ-400: static source analysis = SAST, known OSS vulnerabilities = dependency scanning (SCA), dynamic analysis of running app = DAST, container/IaC misconfig = image/IaC scanning, integration on GitHub = Advanced Security (code/secret/dependency). Earlier (left) detection lowers fix cost.

AZ-400 DevSecOps probes "weaving security into the pipeline and running different scan types at the right places." SAST (static analysis) finds injections and unsafe API use without running code, halting early at PR/build. Dependency scanning (SCA) detects known vulnerabilities (CVEs) and license issues in OSS libraries, raising auto-PRs via Dependabot, etc. Container image scanning finds base-image/layer vulnerabilities, and IaC scanning finds misconfigurations (public storage, excessive permissions) in Bicep/Terraform/ARM. Since these inspect without "running" code, they sit left (early). By contrast, DAST (dynamic analysis) sends real requests to the deployed, running app to find runtime vulnerabilities, so it runs in staging, etc. On GitHub, integrate via GitHub Advanced Security (code scanning = CodeQL, secret scanning, Dependabot/dependency review); on Azure DevOps, manage across with marketplace extensions or Microsoft Defender for DevOps (Defender for Cloud’s DevOps security). High-severity findings fail (block) the pipeline, with results aggregated to a security dashboard. The key is to place "don’t-run" checks left (SAST/SCA/IaC/image) and "do-run" checks right (DAST), gate by thresholds, and stop vulnerabilities before production.

ScanTarget/timingDetects
SASTSource; pre/during build (left)Code vulns (injection, etc.)
Dependency (SCA)OSS deps; build timeKnown CVEs; license issues
Container/IaC scanImage/template; build timeImage vulns; misconfigurations
DASTRunning app; post-deploy (right)Runtime vulnerabilities
Note

Scenario: Prevent vulnerable code or dependencies with known CVEs from reaching production via the pipeline. → Embed SAST (e.g., CodeQL) + dependency scanning (Dependabot/SCA) + IaC scanning + container image scanning at PR/build, and fail the build on high severity to block merge/deploy. In staging, verify runtime with DAST. Aggregate findings to the GitHub Advanced Security (or Defender for DevOps) dashboard for ongoing management.

Note

FAQ: SAST vs DAST? SAST analyzes source without running code, finding internal flaws (injection, unsafe APIs) early (PR/build). DAST sends external requests to the running app post-deploy to find runtime/configuration vulnerabilities. They are complementary—SAST/SCA on the left, DAST on the right (staging) is the standard.

Warning

Exam trap: Choosing SAST to "detect known vulnerabilities in OSS libraries" is wrong—that is dependency scanning (SCA). SAST inspects your own source-code flaws. Likewise, covering "runtime vulnerabilities of a running app" with SAST is wrong—that is DAST. Map scan type to target correctly (own code / dependencies / image / IaC / running).

4.1.2Section summary

  • Shift-left = SAST/dependency/IaC·container scan (build) + DAST (post-deploy)
  • GitHub integration = Advanced Security (code/secret/dependency)

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. Detect source-code vulnerabilities (e.g., injection) statically at build. What?

Q2. Auto-check OSS libraries for known vulnerabilities in the pipeline. What?

Q3. Detect vulnerabilities by sending requests to a running app post-deploy. What?

Check your understandingPractice questions for Chapter 4: Develop a Security and Compliance Plan

Keep track of your progress

The full study guide is free to read. Sign up free to practice with the question bank, track what you have read, review your mistakes, and highlight passages.