L’attaque SolarWinds et la compromission de Codecov ont mis en lumiere un risque sous-estime : le pipeline CI/CD.
Vecteur 1 : injection de secrets dans les logs
# DANGEREUX : imprime les variables d'environnement
- run: env | sort
Protection : activez le masquage des secrets dans votre outil CI.
Vecteur 2 : dependances compromises
# Protection : verrouiller les versions avec checksums
- run: npm ci # utilise package-lock.json avec checksums
Vecteur 3 : token GITHUB_TOKEN trop permissif
permissions:
contents: read # Seulement ce qui est necessaire
packages: write
Vecteur 4 : images de base compromises
# Mauvais
FROM node:latest
# Bien : digest SHA256 immuable
FROM node:20.11.0@sha256:a1b2c3d4...
Vecteur 5 : credentials dans le code source
trufflehog git file://. --only-verified
Vecteur 6 : runner compromise
- Utilisez des runners ephemeres (crees/detruits par job)
- Isolez les runners de production dans un reseau separe
- Auditez les jobs qui tournent sur les runners de prod
Notre formation DevSecOps couvre la securisation des pipelines.