Passer au contenu principal
Menu
Security

PIPELINE SECDEVOPS

Audit continu du code avec SonarQube et scan d'images Docker via Trivy dans GitLab CI.

Dépôt bientôt disponible
GitLab CI/CDSonarQubeTrivyDocker
Phase 1

Contexte

Découverte d'une app perso avec secrets hardcodés et dépendances vulnérables (CVE critiques). Réalisation que la sécurité ne peut pas être un afterthought. J'ai voulu intégrer la sécurité directement dans le pipeline CI/CD : chaque push = audit automatique.

Phase 2

Méthodologie d'Apprentissage

  1. 1

    Étude OWASP Top 10 et concepts SAST/DAST pour les vecteurs d'attaque courants

  2. 2

    Installation SonarQube en local (Docker Compose) pour tester les règles d'analyse avant prod

  3. 3

    Configuration progressive du pipeline GitLab : lint → tests → SAST → scan images → deploy

  4. 4

    Création de quality gates personnalisés (coverage ≥70%, bloquant les vulnérabilités critiques)

  5. 5

    Optimisation : réduction du temps pipeline (18min → 7min) avec caching et parallelization

Phase 3

Défis Techniques

Faux positifs massifs dans SonarQube

40%+ des alertes initiales étaient non pertinentes. Solution : configuration de profils quality personnalisés, exclusion de patterns framework-spécifiques, création de règles custom.

Images Docker trop lourdes (centaines de CVE)

Scan Trivy révélait des vulnérabilités issues de l'image de base. Migration vers Alpine + multi-stage builds → réduction 85% de la surface d'attaque.

Pipeline trop long pour feedback rapide

Devs ignoraient les résultats si pipeline dépasse 10min. Optimisation : caching dépendances, parallelization stages, temps final 7min.

Phase 4

Résultats

  • Pipeline CI sécurisé : 4 couches d'audit (SAST, secrets scanning, dependency check, container scan)

  • Surface d'attaque images Docker réduite de 85% (Alpine + multi-stage)

  • Quality gates bloquants : zéro secret ou CVE critique en prod

  • Apprentissage : security mindset, compliance concepts (PCI-DSS, OWASP), audit applicatif

Explore More

All Projects