0Pricing
Cloud & IT Cert Prep · Lesson

Secure SDLC, SAST, and DAST Tools

Integrate security into the software development lifecycle using static analysis (SAST), dynamic analysis (DAST), and threat modeling earlier in development.

Secure SDLC, SAST, and DAST Tools is a free Cloud & IT Cert Prep lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Cloud & IT Cert Prep learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

What Is the Secure SDLC?

The Secure Software Development Lifecycle (SSDLC) integrates security activities into every phase of software development — from requirements through design, coding, testing, deployment, and maintenance. The traditional SDLC treats security as a final-stage gate, which is expensive and ineffective. The secure SDLC philosophy is to find and fix vulnerabilities as early as possible, because defects caught during design cost far less to fix than those found in production.

Shifting Security Left in Development

Shift left means moving security earlier (to the left on the development timeline) rather than bolt it on at the end. In practice, this means including security requirements in user stories, conducting threat modeling during design, performing code review and SAST during development, and running DAST before release. Teams that shift left discover vulnerabilities when they are cheapest to fix — during development, not in production.

Threat Modeling: STRIDE and PASTA

Threat modeling systematically identifies and documents security threats during the design phase. The STRIDE model categorizes threats into: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege. PASTA (Process for Attack Simulation and Threat Analysis) is a risk-centric methodology that simulates attacker objectives. Threat models produce prioritized mitigations before a single line of code is written.

# STRIDE threat categories (mnemonic)
# S - Spoofing identity
# T - Tampering with data
# R - Repudiation of actions
# I - Information disclosure
# D - Denial of service
# E - Elevation of privilege

Static Application Security Testing (SAST)

SAST (white-box testing) analyzes source code, bytecode, or binaries without executing the application, searching for coding patterns associated with known vulnerabilities. SAST tools can scan the entire codebase quickly and report issues like hardcoded credentials, SQL injection sinks, and unsafe deserialization. They run inside the IDE or CI pipeline and report findings with file and line numbers, making remediation straightforward.

# Example: running Semgrep SAST in CI
semgrep --config=auto --error src/

# Common SAST tools:
# - Checkmarx, Veracode, Fortify (commercial)
# - Semgrep, SonarQube, Bandit (open source)
# - GitHub CodeQL (integrated with GitHub Actions)

SAST Limitations: False Positives

A key limitation of SAST is its tendency to produce false positives — flagging code as vulnerable when it is actually safe. This alert fatigue causes developers to dismiss findings without investigating them. SAST tools also cannot detect runtime configuration issues, authentication flaws that depend on runtime behavior, or vulnerabilities in third-party API calls. SAST is most effective when combined with developer training so findings are triaged accurately.

Dynamic Application Security Testing (DAST)

DAST (black-box testing) tests a running application by sending attack payloads to its HTTP endpoints and analyzing responses for vulnerability indicators. DAST does not require access to source code — it tests the application as an attacker would. It excels at finding runtime issues like authentication bypass, XSS reflected in responses, and server misconfiguration. DAST tools include OWASP ZAP, Burp Suite, and Netsparker.

# Running OWASP ZAP baseline scan against a URL
docker run -t owasp/zap2docker-stable zap-baseline.py \
  -t https://staging.example.com \
  -r zap-report.html

# ZAP sends probe requests and analyzes responses
# without requiring source code access

SAST vs DAST: Complementary Approaches

SAST and DAST are complementary rather than competing. SAST finds code-level issues early and integrates with the IDE, but has no visibility into runtime behavior. DAST finds runtime vulnerabilities and requires no source code, but cannot scan code paths that are not triggered by its automated probes. Using both together — SAST in the CI pipeline and DAST against a staging environment — maximizes vulnerability coverage across the SDLC.

Interactive Application Security Testing (IAST)

IAST combines aspects of both SAST and DAST by instrumenting the application at runtime. An IAST agent runs inside the application (on the server), observing code execution as test traffic flows through. It can correlate tainted user input through code paths to sensitive sinks — finding vulnerabilities with lower false-positive rates than pure SAST. IAST is particularly effective in Java and .NET applications and integrates naturally into functional test runs.

Software Composition Analysis (SCA)

Software Composition Analysis (SCA) identifies open-source libraries and third-party dependencies in an application and checks them against vulnerability databases (NVD, OSV). Because modern applications may pull in hundreds of dependencies — many transitively — SCA tools like OWASP Dependency-Check, Snyk, and Renovate are essential to catch known CVEs before attackers exploit them in your supply chain.

# OWASP Dependency-Check (scans project dependencies)
dependency-check --project myapp --scan ./target --format HTML

# Snyk CLI
snyk test  # finds vulnerabilities in package.json / requirements.txt
snyk monitor  # continuously monitors for new CVEs

Security in CI/CD Pipelines

Integrating security tools into CI/CD pipelines ensures that no code reaches production without passing security gates. A typical DevSecOps pipeline runs: SAST on every commit, SCA on dependency changes, container image scanning before pushing to registry, IaC scanning for Terraform/CloudFormation, and DAST against a staging deployment. Failed security checks block the build, enforcing a security-by-default culture.

# GitHub Actions example — security gate in CI
jobs:
  security:
    steps:
      - uses: actions/checkout@v4
      - name: Run SAST
        run: semgrep --config=auto --error .
      - name: SCA check
        run: snyk test --severity-threshold=high
      - name: Container scan
        run: trivy image myapp:latest --exit-code 1

Secure Code Review Practices

Automated tools cannot replace human code review focused on security logic. Peer review should verify: authentication and authorization checks are in the right places, error handling does not leak sensitive information, cryptographic functions use approved algorithms and parameters, and business logic cannot be bypassed. Security champions within development teams — developers with security training — bridge the gap between the security team and engineering.

Quick Check

Test your understanding of CompTIA Security+ (SY0-701) concepts from this lesson.

Lesson Recap

In this lesson you learned: the secure SDLC integrates security across all development phases rather than bolting it on at the end, SAST analyzes code without execution while DAST tests running applications, and SCA identifies vulnerable open-source dependencies and CI/CD security gates enforce findings automatically. Next up we explore directory services with LDAP and Active Directory.

Frequently asked questions

Is the “Secure SDLC, SAST, and DAST Tools” lesson free?

Yes — the full text of “Secure SDLC, SAST, and DAST Tools” is free to read here on the web, and the Cloud & IT Cert Prep course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Cloud & IT Cert Prep course, upgrade to CoddyKit PRO.

What will I learn in “Secure SDLC, SAST, and DAST Tools”?

Integrate security into the software development lifecycle using static analysis (SAST), dynamic analysis (DAST), and threat modeling earlier in development. You practise Cloud & IT Cert Prep with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Cloud & IT Cert Prep?

No prior experience is required. Cloud & IT Cert Prep on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Secure SDLC, SAST, and DAST Tools” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Cloud & IT Cert Prep lesson?

Yes. Every Cloud & IT Cert Prep lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. SQL Injection and Command Injection
  2. Cross-Site Scripting (XSS) and CSRF
  3. Broken Authentication and Insecure Deserialization
  4. Secure SDLC, SAST, and DAST Tools
← Back to Cloud & IT Cert Prep