Le CVSS ne voit pas votre déploiement : trier ses CVE avec un LLM et le contexte
samedi 14 novembre11:00 — 11:5555 minSalle A302
Description
Je montre deux runs CI sur la même image, avec deux fichiers de contexte différents : l'un casse le build, l'autre passe. Même liste de CVE, même scanner. Et je ne cache pas là où ça casse.
D'abord le mécanisme, parce qu'il est plus honnête qu'il n'en a l'air. Le modèle ne note que quatre facteurs, entre 0 et 9, dans un schéma qui lui interdit structurellement d'écrire un score. La composition, le clamp et la bande de sévérité sont du Go déterministe. Et le fichier de contexte ne touche jamais l'arithmétique : il part en prose dans le prompt. C'est voulu, ça garde le score auditable, et ça pose la vraie question du talk : est-ce que le LLM gagne son coût, ou est-ce qu'une table de correspondance ferait pareil ?
Le modèle se trompe sur certaines classes de CVE, et avec le même aplomb que quand il a raison. Il n'est pas déterministe non plus : le même scan peut ressortir avec des scores différents. Un contexte précis et l'épinglage du seed et de la température stabilisent le tir, mais rien ne dépasse ce qu'un humain a écrit dans un YAML. C'est un système décrit, pas de la vraie reachability.
Le verdict et ses preuves partent dans deux fichiers : le score dans un CycloneDX VEX, l'attestation CDXA à côté. Elle garde l'empreinte de ce qui a produit le score : le modèle, le prompt, les hashs d'entrée. Et comme le verdict est juste un VEX, le même scoring tourne en CI, où une GitHub Action casse le build sur le score OWASP plutôt que sur le CVSS.
Puis le benchmark, parce que si vous mettez un LLM dans la boucle, la question c'est lequel. J'ai comparé douze modèles, huit dans le cloud et quatre en local, contre une baseline sans LLM : une simple constante. La précision est le problème facile, un modèle à 0,48 $ finit à 0,085 point d'un modèle à 4,12 $. C'est sur le contexte que ça se joue, et c'est là qu'un modèle peut décrocher sans prévenir : l'un d'eux a ré-gonflé Log4Shell au lieu de le faire tomber, trois fois de suite. Et les modèles locaux restent, pour l'instant, indistinguables de la constante. Je dis lesquels utiliser et lesquels éviter.
Tout est libre : vens (github.com/venslabs/vens) est sous Apache-2.0, c'est un plugin Trivy officiel et il alimente Dependency-Track. Rien à vendre, la méthode marche sur n'importe quel scanner et n'importe quel LLM correct.
Public visé
Intermédiaire, mais accessible. DevSecOps, platform/ops, dev qui gèrent des images conteneurs. Une familiarité avec Trivy ou Grype suffit.
Intervenant·e
dorgaa
Senior software engineer working on vulnerability management and software supply chain security. Maintainer of nerdctl in the containerd community, and contributor to Crossplane. Creator of vens (https://github.com/venslabs/vens), an open-source tool that uses LLMs to score CVEs against their deployment context.
Dans le même créneau
- Salle A001Comment EDF industrialise la gestion de postes de travail GNU/Linux à grande échelle ?Luca Soler et Kent Brudey
- Salle A002🌉 Gateway API, 10 ans de maturation pour une nouvelle API KubernetesDAVIN Kevin
- Salle A201Blender, le logiciel libre dans l'industrieJonas Holzman
- Salle A202Sécuriser les Agents GenAI et l'exécution de code arbitraire avec Agent Sandbox sur KubernetesLaurent Grangeau
- Salle A203Mon PDP-11/45: pourquoi et comment refaire en 2026 la machine à l'origine du C et d'Unixpdp_maker
- Salle A303Une clinique design en live !Natouille et Emilie Nguyen Van Yen
- Salle A304Déverrouiller sa session Wayland en jouant à Pokémon sur un émulateur GameboyAdonis Najimi
- Salle B00Hygiène numérique pour moldus et sorciersMichael Opdenacker
- Salle B208Accessibilité : et la ligne de commande, alors ?Amaury Carrade
- Salle C002CryptPad: les nouveautés d’une suite office libre chiffrée de bout-en-boutFabrice Mouhartem
Cette session vous intéresse ?
L'entrée est libre et gratuite, mais l'inscription nous aide à préparer au mieux votre venue.
S'inscrire gratuitement— 14 & 15 novembre 2026