Practice & Reference · The tooling landscape

The tooling landscape

Every category of DevSecOps tooling this course has touched so far — SAST, DAST, SCA, secrets scanning, IaC scanning, container image scanning — plus two you haven't seen yet, CSPM and SIEM, gathered into one categorized reference. For each category: the question it answers, two to four representative tools, and where it actually earns its keep in a real pipeline. Read it as a map of the landscape, not a shopping list.

☺ Explain it like I'm 10

Buying a house, you don't hire one inspector for everything. A structural engineer checks the foundation, an electrician checks the wiring, a plumber checks the pipes, and a pest inspector checks for termites — each one is looking for a different failure mode, using different equipment, and a termite inspector finding a cracked foundation beam isn't really their job to flag. The DevSecOps tool landscape works the same way: a SAST tool reading your source code isn't going to notice a misconfigured cloud storage bucket, and a cloud posture tool isn't going to notice a SQL injection bug buried in an endpoint handler. You need the right specialist looking at the right layer, and knowing which specialist to call is half the job.

Why organize by function, not by vendor

The DevSecOps tool market is large, crowded, and consolidating faster than any single course page can track — a product that only scanned dependencies two years ago may now ship secrets scanning and Kubernetes manifest checks in the same CLI. Organizing the landscape by vendor roadmap is a losing game. Organizing it by the question each category answers is more durable, because the questions don't change even when the products answering them do: is this code written safely, does this running system behave safely, are the dependencies I pulled in known-vulnerable, did anyone commit a credential, is this infrastructure definition compliant before it's ever applied, does this container image ship known vulnerabilities, is my live cloud environment misconfigured right now, and is something happening in production that needs a human to look at it. That's eight questions, eight categories, and — worth internalizing before any procurement conversation — no single product answers all eight equally well. The tables below name representative, currently-relevant tools per category; treat the names as orientation, not endorsement or a shopping list.

Scanning the code you write and the code you don't

Three categories attack the same underlying problem — vulnerable code — from three different angles, and the mechanics of each are covered in full on SAST, DAST & SCA. Static analysis (SAST) reads source without executing it, so it can run on every commit and pull request as a required check in CI/CD. Dynamic analysis (DAST) attacks a deployed, running instance from the outside, so it necessarily runs later — against staging, not against a diff. Software composition analysis (SCA) doesn't read your code at all; it matches the open-source and third-party packages you depend on against CVE and NVD data, which matters because a typical production codebase is majority third-party code by line count. None of the three overlaps meaningfully with another — a pipeline missing any one of them has a blind spot the other two structurally cannot close.

CategoryRepresentative toolsRole
SASTSemgrep, CodeQL, SonarQube, CheckmarxAnalyzes source without running it; catches injection-prone patterns, unsafe API use, and dangerous data flow before merge.
DASTOWASP ZAP, Burp SuiteAttacks a running instance from the outside; catches runtime and configuration issues invisible in source, like missing security headers or unsafe cookie flags.
SCASnyk, Dependabot, OWASP Dependency-CheckMatches third-party dependencies against known-vulnerability databases; covers the majority share of a codebase's line count that SAST never reads.

Secrets, infrastructure as code, and container images

Three more categories close gaps that source-code analysis alone leaves open. Secrets scanning exists because a hardcoded credential is a real, exploitable finding the moment it lands in a public or even a shared private repository — covered in depth on secrets management, including why scanning git history matters as much as scanning the current tree. IaC and policy-as-code tools evaluate infrastructure definitions — Terraform, CloudFormation, Kubernetes manifests — against policy before terraform apply ever runs, the entire subject of IaC security & policy as code: catching a public-by-default storage bucket or an overly permissive IAM role in a code review instead of in an incident. Container image scanning inspects a built image's OS packages and application dependencies for known CVEs before that image reaches a registry or a cluster, detailed on container & supply-chain security. All three run against artifacts that exist before deployment, which is exactly why they belong earlier in the pipeline rather than after.

CategoryRepresentative toolsRole
Secrets scanningGitleaks, TruffleHog, detect-secretsScans source and git history for committed credentials, API keys, and tokens; TruffleHog can additionally validate many credential types live against the issuing provider.
IaC / policy-as-codeCheckov, tfsec, Open Policy Agent (Rego), TerrascanEvaluates infrastructure definitions against policy before anything is applied to real cloud resources.
Container image scanningTrivy, Grype, Docker Scout, Snyk ContainerScans a built image's OS packages and application layers for known vulnerabilities before it's pushed to a registry.
◆ Key idea

The eight categories in this page are a way to reason about coverage, not eight separate purchases. Real tools already span more than one: Trivy alone can act as an SCA scanner, a container image scanner, an IaC scanner, and a secrets scanner from a single binary; Snyk's product line covers SCA, container, and IaC scanning under one subscription. Before adding a ninth tool to close a gap, check whether something already running in the pipeline can be pointed at the new surface first — tool sprawl carries its own maintenance and noise cost.

Cloud posture and runtime monitoring: CSPM and SIEM

The remaining two categories operate on a live environment rather than a build artifact, and they answer different tenses of the same underlying question. Cloud Security Posture Management (CSPM) tools continuously assess a live cloud account's actual configuration against a benchmark — commonly the CIS Benchmarks or a provider's own well-architected guidance — and flag drift: a security group opened to 0.0.0.0/0, a bucket policy that went public during a hotfix, an IAM role with a wildcard action nobody meant to grant. That's the subject of cloud security posture. SIEM and security-monitoring platforms answer a different question — not "is this configuration wrong" but "is something happening right now" — by aggregating logs, alerts, and findings from every other layer, including the CSPM, container, and IaC tools above, into one queryable, correlated stream that a security operations team actually watches. That aggregation role is why SIEM output feeds directly into incident response & forensics: a SIEM alert is usually where an incident timeline starts.

CategoryRepresentative toolsRole
CSPMWiz, Prisma Cloud, AWS Security Hub, ProwlerContinuously assesses live cloud accounts against benchmarks; flags misconfiguration that already exists, independent of any deploy.
SIEM / security monitoringSplunk, Microsoft Sentinel, Elastic Security, WazuhAggregates logs and alerts from every other layer into one correlated stream for security operations. (Microsoft Sentinel is unrelated to HashiCorp Sentinel, the policy engine.)

Choosing tools: pipeline integration over noise

Two practical rules matter more than which specific product you pick in any category above. First, scanning has to run inside the pipeline the team already uses, not as a separate portal someone has to remember to check. A SAST or SCA finding that only surfaces in a security team's dashboard three days after merge gets fixed eventually, if at all; the same finding as a required PR check that blocks merge gets fixed before the code ships, because it's in the path the developer is already on. The YAML below sketches one pipeline wiring all eight categories to the stage where each one's inputs actually exist — source-only checks at PR time, image scanning after a build, DAST after a staging deploy, and CSPM/SIEM running continuously rather than per-deploy, since a cloud account can drift independent of any release. Second, a scanner nobody trusts gets ignored, and an ignored tool provides zero security value regardless of what it's technically capable of catching — tuning severity thresholds and suppressing confirmed false positives, with a documented reason, isn't optional maintenance, it's the difference between a gate and a formality. The security checklist and case study both assume this kind of pipeline-native wiring, not a parallel scanning process bolted on afterward.

# One pipeline, eight scanner categories -- not eight separate portals
stages:
  - pr-checks      # source-only: SAST, SCA, secrets, IaC -- runs on every PR
  - build
  - image-scan     # runs against the built container image
  - deploy-staging
  - dast           # runs against a live target -- needs staging deployed first
  - deploy-prod
  - continuous     # CSPM + SIEM -- scheduled/streaming, not tied to a deploy

pr-checks:
  stage: pr-checks
  script:
    - semgrep ci --config=auto --error          # SAST
    - trivy fs --scanners vuln --exit-code 1 .  # SCA
    - gitleaks detect --source . --exit-code 1  # secrets
    - checkov -d infra/ --compact --quiet       # IaC / policy-as-code
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

image-scan:
  stage: image-scan
  script:
    - trivy image --exit-code 1 --severity CRITICAL,HIGH $IMAGE_TAG

dast-scan:
  stage: dast
  needs: ["deploy-staging"]
  script:
    - zap-baseline.py -t https://staging.internal.example.com

cspm-and-siem:
  stage: continuous
  script:
    - prowler aws --output-formats json            # CSPM, scheduled nightly
    - forward-findings --sink siem.internal:9200   # feeds the SIEM, not a standalone dashboard
✓ Checkpoint

1. Which tool category would have caught an AWS access key accidentally committed in a pull request, and name one representative tool for it? 2. A CSPM tool and a SIEM tool can both surface a public S3 bucket. What's the practical difference in what each one is telling you? 3. Why does container image scanning exist as a category separate from SCA, given that both check for known-vulnerable dependencies? 4. A team's IaC scanner flags 200 findings on every pull request and developers have started clicking "merge anyway." What does this page's closing guidance say is going wrong?

Check your answers
  1. Secrets scanning — a tool like Gitleaks, TruffleHog, or detect-secrets is built specifically to catch a credential the moment it's committed, before or immediately after it lands in the repository.
  2. CSPM tells you the bucket's current configuration is wrong — a point-in-time assessment against a benchmark. SIEM tells you something is actively happening to it right now, such as unusual access patterns being logged and correlated into an alert — one is a config check, the other is live activity monitoring.
  3. SCA scans the dependencies declared in application manifests like package.json or requirements.txt. Container image scanning also covers the base OS packages and any tooling baked into the image layers, which never appear in an application manifest at all — so a vulnerable OS library can exist in the shipped image with no corresponding SCA finding.
  4. The scanner has fallen into the same false-positive/noise failure mode the pipeline-integration guidance warns about: without triaging findings and tuning severity, developers stop trusting the gate and start reflexively bypassing it, which makes the tool worth less than no scanner at all, since it still consumes review time while providing no real signal.