[infra] Trivy : deux constats de configuration, et la date où la passe devient bloquante #269

Closed
opened 2026-09-10 14:27:11 +00:00 by lenaic · 0 comments
Owner

Trivy est entré dans la chaîne d'intégration avec deux passes de sévérité différente :

  • vuln,secret est bloquante. Elle est verte aujourd'hui, elle ne bloquera que sur du neuf.
  • misconfig est journalisée. Elle rend deux constats réels, listés ci-dessous.

Ce ticket porte les deux constats et la date à laquelle la seconde passe devient bloquante.

Les deux constats, relevés le 10/09

Fichier Sévérité Constat
infra/terraform/stockage.tf CRITICAL l'action par défaut des règles réseau du compte de stockage devrait être Deny
infra/compose/postgres/Dockerfile HIGH aucune instruction USER : l'image tourne en root

Ce qu'ils valent réellement

Le premier porte sur une ressource déclarée et non appliquée : le compte de stockage Azure n'est pas provisionné, l'attribution RBAC est elle-même en attente (#237). Le constat est juste, son exposition est nulle aujourd'hui.

Le second porte sur l'image PostgreSQL du serveur de la salle. L'image officielle bascule sur l'utilisateur postgres à l'exécution ; le constat vise l'absence de USER dans le Dockerfile, pas le processus qui tourne. À vérifier avant de corriger, pour ne pas casser l'initialisation du volume.

Hors périmètre

Les fichiers de tests/ci/fixtures/ sont volontairement fautifs : ils servent à prouver que le garde Terraform et les bancs rougissent. Ils sont exclus de l'analyse, et cette exclusion ne doit pas être retirée.

Comment on le vérifie

trivy fs --scanners misconfig --severity HIGH,CRITICAL --ignore-unfixed \
  --skip-dirs tests/ci/fixtures --skip-dirs node_modules .

Attendu à la fermeture : zéro constat, et la passe misconfig passée en bloquante dans .forgejo/workflows/ci.yml.

Trivy est entré dans la chaîne d'intégration avec deux passes de sévérité différente : - **`vuln,secret` est bloquante.** Elle est verte aujourd'hui, elle ne bloquera que sur du neuf. - **`misconfig` est journalisée.** Elle rend deux constats réels, listés ci-dessous. Ce ticket porte les deux constats et la date à laquelle la seconde passe devient bloquante. ## Les deux constats, relevés le 10/09 | Fichier | Sévérité | Constat | |---|---|---| | `infra/terraform/stockage.tf` | CRITICAL | l'action par défaut des règles réseau du compte de stockage devrait être `Deny` | | `infra/compose/postgres/Dockerfile` | HIGH | aucune instruction `USER` : l'image tourne en `root` | ## Ce qu'ils valent réellement Le premier porte sur une ressource **déclarée et non appliquée** : le compte de stockage Azure n'est pas provisionné, l'attribution RBAC est elle-même en attente (#237). Le constat est juste, son exposition est nulle aujourd'hui. Le second porte sur l'image PostgreSQL du serveur de la salle. L'image officielle bascule sur l'utilisateur `postgres` à l'exécution ; le constat vise l'absence de `USER` dans le Dockerfile, pas le processus qui tourne. À vérifier avant de corriger, pour ne pas casser l'initialisation du volume. ## Hors périmètre Les fichiers de `tests/ci/fixtures/` sont **volontairement fautifs** : ils servent à prouver que le garde Terraform et les bancs rougissent. Ils sont exclus de l'analyse, et cette exclusion ne doit pas être retirée. ## Comment on le vérifie ```sh trivy fs --scanners misconfig --severity HIGH,CRITICAL --ignore-unfixed \ --skip-dirs tests/ci/fixtures --skip-dirs node_modules . ``` Attendu à la fermeture : zéro constat, et la passe `misconfig` passée en bloquante dans `.forgejo/workflows/ci.yml`.
gabriel added this to the EnerVision project 2026-09-10 17:16:27 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
g2/enervision#269
No description provided.