intégrer trivy dans votre pipeline ci/cd pour scanner les vulnérabilités de vos containers
21/01/2026
Introduction
Dans un contexte où les containers sont omniprésents, sécuriser vos images Docker est devenu crucial. Trivy, un outil open source d’Aqua Security, permet de détecter automatiquement les vulnérabilités dans vos images avant leur déploiement. Dans ce tutoriel, nous allons voir comment intégrer Trivy dans votre pipeline CI/CD basés sur GitHub Actions pour garantir que seules des images saines arrivent en production.
Configurer Trivy dans votre pipeline CI/CD
Étape 1 : installer Trivy
Commencez par ajouter Trivy en tant qu’outil CLI dans votre runner. Voici un extrait pour Ubuntu :
sudo apt-get update
sudo apt-get install -y wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy
Étape 2 : ajouter l’étape de scan dans GitHub Actions
Créez ou modifiez votre fichier .github/workflows/ci.yml :
name: CI
on:
push:
branches: [ main ]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t myapp:${{ github.sha }} .
- name: Scan image with Trivy
run: |
trivy image \
--exit-code 1 \
--severity CRITICAL,HIGH \
--format table \
myapp:${{ github.sha }}
Grâce à --exit-code 1, le job échoue si des vulnérabilités de niveau HIGH ou CRITICAL sont détectées. Vous pouvez ajuster les niveaux via --severity.
Étape 3 : analyser le rapport
Trivy génère un tableau en sortie :
| Vulnérabilité | Package | Sévérité | Version |
|---|---|---|---|
| CVE-2023-1234 | openssl | HIGH | 1.1.1 |
| CVE-2022-5678 | nginx | CRITICAL | 1.19.0 |
Vous pouvez exporter en JSON ou SARIF pour intégration avec des outils tiers (SonarQube, etc.).
Bonnes pratiques
- Versionnez systématiquement votre image Docker et utilisez toujours les tags immuables. En savoir plus sur Docker.
- Intégrez le scan dès la phase de build pour détecter tôt les vulnérabilités (shift left).
- Définissez un seuil de tolérance (e.g. refuser les CVE > MEDIUM) pour maintenir un niveau de sécurité cohérent.
- Mettez à jour Trivy régulièrement et synchronisez sa base de données de vulnérabilités avec
trivy --refresh. - Centralisez les rapports via un tableau de bord de sécurité ou un outil SIEM.
Conclusion
En intégrant Trivy à votre pipeline CI/CD, vous automatisez la détection des failles et assurez la livraison d’images Docker saines. Ce processus réduit significativement les risques liés aux vulnérabilités en production et renforce la confiance de vos clients. Pour gagner en expertise et renforcer vos équipes, découvrez nos offres d’augmentation de compétence tech. Vous pouvez également solliciter une séance de consulting gratuite avec nos experts.

