Aller au contenu

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

trivy image mydockerimage:latest

Analyser l'Infrastructure as Code (IaC)

trivy iac /path/to/iac/files

Analyser un projet (SCA, Secrets, Config)

trivy fs /path/to/project

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

☕️ Si tu souhaites soutenir mon travail, tu peux m'offrir un café ici.