DevSecOps

SAST vs DAST - Quel outil pour quel moment du SDLC ?

Comparatif pratique entre Static Application Security Testing (SAST) et Dynamic Application Security Testing (DAST) : forces, limites, cas d'usage, intégration CI/CD.

Naim Aouaichia
2 min de lecture
  • SAST
  • DAST
  • AppSec
  • CI/CD
  • DevSecOps

1. Deux approches complémentaires, pas concurrentes

SAST (Static Application Security Testing) analyse le code source sans l'exécuter. Il détecte les patterns à risque dans le code : SQL concaténé, désérialisation non sécurisée, secrets en clair, crypto faible, validation insuffisante. Outils de référence : Semgrep, CodeQL, Bandit, Checkmarx, SonarQube.

DAST (Dynamic Application Security Testing) teste l'application en cours d'exécution, de l'extérieur. Il envoie des requêtes forgées pour détecter des vulnérabilités exploitables : XSS reflected, SQLi, SSRF, XXE, authentification cassée. Outils : OWASP ZAP, Burp Suite, Nuclei, Arachni.

Les deux techniques ne se remplacent pas - elles se complètent.

2. Forces et limites

AspectSASTDAST
Moment SDLCDéveloppement (commit, PR)Staging, préprod, prod contrôlée
CouvertureToute la codebaseSurface d'attaque exposée
Faux positifsÉlevés (plus de contexte manquant)Modérés
Faux négatifsManque les vulnérabilités de configManque le dead code et erreurs non-exploitables
Intégration CI/CDSimple (pre-commit, PR gate)Plus complexe (besoin d'un runtime)
Coût runtimeFaible (analyse statique)Élevé (scan actif peut charger les serveurs)

3. Intégration CI/CD typique

# Exemple GitHub Actions DevSecOps
jobs:
  sast:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: returntocorp/semgrep-action@v1
        with:
          config: p/owasp-top-ten
 
  dast:
    needs: [build, deploy-staging]
    runs-on: ubuntu-latest
    steps:
      - uses: zaproxy/action-baseline@v0.14.0
        with:
          target: 'https://staging.example.com'

SAST en pre-commit / PR check. DAST en scan nocturne sur staging. SCA (Software Composition Analysis) en parallèle pour les deps. IAST en runtime staging pour les vulnérabilités mixtes.

4. À retenir

SAST et DAST ont chacun leurs angles morts. Une stratégie AppSec mature combine SAST + DAST + SCA + secrets scanning + IaC scanning à différentes étapes du SDLC. L'objectif n'est pas zéro faux positif - c'est la couverture complémentaire et le triage efficace.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.