Étape 03 — Contrôles de sécurité
Installer et comprendre les scanners avant de leur donner le pouvoir de bloquer des releases.
À quoi servent ces scanners ?
Ils regardent des problèmes différents : Gitleaks cherche les secrets, Semgrep analyse notre code, Trivy analyse les composants et images, les audits de dépendances vérifient les bibliothèques. Aucun scanner ne « sécurise » l’application seul : ils produisent des signaux que l’équipe doit comprendre.
Lire la section complète, copier une commande à la fois, vérifier le résultat attendu, puis seulement continuer.
- SAST : analyse du code sans lancer l’application.
- CVE : vulnérabilité connue et référencée.
- Gate : règle qui bloque la suite du pipeline si une condition critique échoue.
1. Principe
Installer les scanners d’abord sur NONPROD et dans la CI. Leur rôle est de détecter des signaux ; ils ne remplacent pas les revues ni les tests métier.
2. Gitleaks — secrets dans Git
cd /chemin/du/repository sudo docker run --rm -v "$PWD:/repo" ghcr.io/gitleaks/gitleaks:latest detect --source=/repo
3. Trivy — dépendances et images
sudo apt-get install -y wget gnupg wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg >/dev/null echo "deb [signed-by=/usr/share/keyrings/trivy.gpg] https://aquasecurity.github.io/trivy-repo/deb generic main" | sudo tee /etc/apt/sources.list.d/trivy.list sudo apt-get update sudo apt-get install -y trivy trivy fs .
Pour le gate de release :
trivy image --severity HIGH,CRITICAL --ignore-unfixed --exit-code 1 planplay-api:RELEASE_TAG
4. Semgrep — code écrit par l’équipe
Le mode d’installation dépendra de votre CI et du langage de P&P. Dans un premier test local, utiliser l’installation officielle adaptée à votre environnement, puis lancer une baseline sur le dépôt. Ne bloquez pas la CI sur des règles que l’équipe n’a pas encore triées.
5. Audit de dépendances
# Node.js npm audit # Python pip-audit # PHP composer audit
N’exécuter que la commande correspondant à la stack réelle.
6. Créer une baseline
Classer chaque finding : vrai positif / faux positif / accepté temporairement / corrigé. Toute exception comporte une justification, un propriétaire et une date de revue.