Feature #41
closedFeature #28: Intégrer la gestion des SOUPs dans Pipeliner via Trivy, Dependency-Track et Aggregator
Pipeline d'ingestion Trivy → Dependency-Track (CI + DTracker)
0%
conversation:21#28
Description
Câbler Jenkins pour générer un SBOM via Trivy à chaque build preprod et l'envoyer à DTracker, lié à l'image signée. Provisionner/configurer DTracker : import des vulnérabilités, règles de conformité IEC 62304 (medtech) et PCI DSS (fintech), workflow de gestion des faux positifs / relances réservé à omdev. Projet DTracker clé par `project_key` pour la corrélation aggregator.
## Critères d'acceptation
- Après chaque build preprod, un SBOM Trivy est généré et poussé dans DTracker, associé à l'image signée.
- Les vulnérabilités Trivy sont importées et corrélées aux composants dans DTracker.
- DTracker identifie les SOUPs et applique les jeux de règles IEC 62304 et PCI DSS.
- Gestion des faux positifs / relances opérationnelle dans DTracker, restreinte à omdev.
- Projet DTracker clé par `project_key`.
Estimation : L. Dépendances : aucune.
RA Updated by Redmine Admin about 2 months ago
- Status changed from Submitted to Spec
- spec_ref updated (diff)
Spec dev-ready (spec_ref posé). Tête de chaîne de l'épopée #28 : provisioning Dependency-Track + génération SBOM Trivy en CI (Jenkins) → push DTracker, règles IEC 62304 / PCI DSS, gestion faux-positifs/relances réservée omdev, projet DTracker clé par project_key. Tâche infra/ops (pas un agent dev) — sera provisionnée par l'orchestrateur ; les secrets iront dans infra/secrets.
RA Updated by Redmine Admin about 2 months ago
- Status changed from Spec to Shipped
Shipped — pipeline SBOM stage live dans omdev-pipeline (infra main), prouvé bout-en-bout par le build pipeliner-client/preprod #67 :
- Trivy (pinné 0.58.1 → CycloneDX 1.6, compat DTracker 4.12) génère un SBOM du source AVANT le build d'image, `--volumes-from $(hostname)` (DooD), archivé comme artefact.
- Push vers Dependency-Track → HTTP 200, **291 composants** ingérés + analysés (0 vuln, deps propres).
- Aggregator `/api/projects/pipeliner-client/soups` → données réelles (risk_level=clean, 10 composants listés, report_url).
- Rapport téléchargeable via l'aggregator `/soups/report` → SBOM CycloneDX (191KB, Content-Disposition attachment).
- Agent Jenkins connecté au réseau dependency-track_default ; credential `dtrack-api-key` ; gardé non-bloquant (security.sbom.enabled).
Gotchas résolus : $HOSTNAME non exporté en sh→$(hostname) ; Trivy latest=CycloneDX 1.7 rejeté par DTracker→pin 0.58.1 ; DTRACK_URL mal échappé (guillemets littéraux) dans le compose hôte→corrigé. Flux complet Trivy→DTracker→aggregator→dashboard opérationnel.