Sast with trivy slides
Introduction à Trivy¶
Trivy est un outil "tout-en-un" développé par Aqua Security qui analyse : - Les images Docker et conteneurs - Les dépendances de projet (SCA) - L'Infrastructure as Code (IaC) : Kubernetes, Terraform, Dockerfile - Les secrets et données sensibles (clés API, tokens)
Trivy se distingue par : - Sa rapidité et son efficacité - Sa polyvalence (plusieurs types d'artefacts) - Sa facilité d'intégration dans les pipelines CI/CD
Fonctionnalités principales¶
- Analyse de vulnérabilités : Identifie les failles connues (CVE)
- Analyse IaC : Vérifie les fichiers de configuration pour des erreurs de sécurité
- Secret Scanning : Détecte les secrets exposés (mots de passe, tokens)
- Rapports de licence : Identifie les problèmes de licences dans les dépendances
Utilisation de Trivy¶
Trivy permet d'analyser différents types de ressources avec des commandes simples :
Analyser une image Docker
Analyser l'Infrastructure as Code (IaC)
Analyser un projet (SCA, Secrets, Config)
Le rapport de scan liste :
- L'ID de la vulnérabilité (CVE) - Le package concerné - La version corrigée (si disponible) - Le niveau de sévérité (LOW, MEDIUM, HIGH, CRITICAL)
Intégration de Trivy dans GitLab CI/CD¶
Exemple de pipeline optimisé avec gestion du cache pour la base de données Trivy :
# .gitlab-ci.yml
trivy_scan:
stage: scan
image:
name: aquasec/trivy:latest
entrypoint: [""]
variables:
TRIVY_CACHE_DIR: ".trivycache/"
cache:
paths:
- .trivycache/
script:
# Mise à jour de la DB et scan de l'image
- trivy image --cache-dir $TRIVY_CACHE_DIR --exit-code 1 --severity "HIGH,CRITICAL" $IMAGE_NAME