Projets
DevSecOpsCybersécurité
Pipeline DevSecOps — SBOM & scan CI
Intégration sécurité dans un pipeline CI/CD GitHub Actions. Génération SBOM CycloneDX, scan Trivy, blocage automatique sur CVE critique.
Code source20245 stack
[GITHUB ACTIONS][TRIVY][CYCLONEDX][DOCKER][YAML]
Contexte
Mise en place d'une chaîne DevSecOps complète pour un projet web containerisé. L'objectif : détecter les vulnérabilités connues avant que l'image n'atteigne la production.
Architecture du pipeline
Le pipeline GitHub Actions s'exécute en 4 étapes séquentielles :
- Build — construction de l'image Docker ARM64
- SBOM — génération de la liste de composants avec Syft/CycloneDX
- Scan — analyse Trivy sur l'image et le SBOM
- Gate — blocage si CVE de sévérité CRITICAL ou HIGH
- name: Scan image — Trivy
uses: aquasecurity/trivy-action@master
with:
image-ref: ${{ env.IMAGE }}
format: sarif
exit-code: 1
severity: CRITICAL,HIGH
output: trivy-results.sarifYAMLGénération du SBOM
Le SBOM CycloneDX est généré à chaque build et archivé comme artifact GitHub Actions. Il liste tous les packages, licences et CVE connues à la date du build.
- name: Generate SBOM
uses: anchore/sbom-action@v0
with:
image: ${{ env.IMAGE }}
format: cyclonedx-json
output-file: sbom.cdx.jsonYAMLRésultats
- Temps d'exécution pipeline complet : ~4 min
- 0 CVE CRITICAL sur l'image finale (Alpine base)
- SBOM archivé à chaque release pour traçabilité supply chain