P&P Project & Deployment Guide v2.0

Étape 03 — Contrôles de sécurité

Installer et comprendre les scanners avant de leur donner le pouvoir de bloquer des releases.

Semaine 5AppSec
Pour comprendre avant d’exécuter

À 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.

Règle de travail

Lire la section complète, copier une commande à la fois, vérifier le résultat attendu, puis seulement continuer.

Vocabulaire utile
  • 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
Résultat attenduUn rapport est produit. Toute détection réelle entraîne la rotation immédiate du secret concerné, même si le dépôt est privé.

Voir le runbook de rotation des secrets →

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.

Projet.Le langage/framework exact de P&P doit être renseigné avant de figer les règles Semgrep.

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.

7. Gate de sortie