Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

⏱️
Temps de lecture estimé
6 min de lecture
⏱️
Temps de lecture estimé
~11 minutes

Deux billets US publiés à une semaine d’écart posent le même diagnostic : l’AppSec par volume de findings s’effondre face à la vélocité des agents IA. L’un mise sur l’élimination des classes de vulnérabilités à la racine, l’autre sur la vérification indépendante des correctifs. Voyons ce qui casse réellement dans un pipeline CI/CD aujourd’hui.

Chris Hughes ouvre son billet du 2 septembre sur Resilient Cyber avec trois chiffres : 59 000 CVE attendues sur 2026, un délai divulgation-exploitation passé de 771 jours en 2018 à 6 jours en 2023, et des agents autonomes qui exploitent déjà 97,7 % des vulnérabilités du catalogue KEV testées en laboratoire. Quatre jours plus tard, Taimur Ijlal lui répond sans le savoir, depuis The Cloud Security Guy. Pour lui, on a toujours eu de quoi détecter les failles, et largement. Il nous a toujours manqué une mécanique pour les corriger vite et prouver qu’elles le sont.

Je lis régulièrement ces newsletter. Le diagnostic est le même sur les 2, les réponses divergent. Et Voyons ce qui manque aux deux : ce qui casse dans un pipeline CI/CD quand le code de la pull request n’a plus été écrit par un humain qui sait ce qu’il committe.

Ce que Hughes et Ijlal disent, et où ils s’écartent

Hughes part de l’échec du triage classique. Les grandes entreprises accumulent des centaines de milliers de findings et en corrigent environ 10 % par mois(la il est un peu optimiste quand meme…). Le NIST a rangé 29 000 CVE en “Not Scheduled”, faute de bras. Sa réponse est architecturale. Il veut qu’on arrête de scorer sur la sévérité théorique, puisque le CVSS ne dit rien de l’exploitabilité réelle. Quand le même type de faille revient encore et encore, il y voit un problème d’organisation plutôt qu’un problème technique. Et il remonte aux causes racines, chiffres à l’appui : Gecko a ramené 569 divulgations à 105 causes distinctes. Tu corriges la cause et des dizaines de findings tombent d’un coup, au lieu de les traiter un par un jusqu’à la retraite.

Ijlal prend le problème par l’autre bout. Pour lui, la détection n’a jamais été le goulot d’étranglement : un scanner trouve une faille en quelques secondes, alors qu’une remédiation vérifiée prend des heures, parfois des jours. Il propose un pipeline à quatre agents. Le Reviewer identifie et explique la vulnérabilité dans la pull request. Le Fixer propose un correctif minimal avec ses tests. Le Verifier contrôle indépendamment que la faille a disparu. L’Explainer résume le tout pour le développeur, qui garde la main sur le bouton merge. Son principe : “AI proposes, independent verification confirms”.

Ce qu’Ijlal décrit comme une cible à atteindre tourne déjà en open source ; j’en avais fait l’inventaire en juillet. VVAH, le harness agentique de Visa, c’est ce découpage en onze étapes, avec un panel adversarial en lecture seule pour la validation. Visa met en avant le MTTA, le temps entre la découverte d’une exploitabilité et un correctif validé en production. Cette métrique-là, on ne la trouve dans aucun des deux articles US. Hughes compte les findings, Ijlal compte les étapes du workflow, et personne ne vérifie que le pipeline sert à quelque chose.

Note du PandaRedacteur : c’est amusant de voir deux personnes qui ne se citent pas arriver au même diagnostic à quatre jours d’écart. Soit c’est le signe qu’un vrai problème émerge, soit c’est la preuve que tout le monde lit le même rapport Verizon DBIR le même week-end.

IMHO, les deux se complètent. Éliminer les causes racines (Hughes) réduit ce qu’il reste à vérifier ; vérifier chaque correctif de façon indépendante (Ijlal) empêche un agent trop sûr de lui de refermer un ticket sans rien avoir corrigé. Hughes travaille sur le stock, Ijlal sur le flux. Faites l’un sans l’autre, et votre pipeline marche sur une jambe.

Ce qu’aucun des deux n’exprime

📬 Analyse complète réservée aux abonnés Substack
Cette partie part d'abord aux abonnés Substack, avant d'être publiée intégralement ici.
> **Note du PandaRedacteur** : un `sanitize()` écrit par un agent pour faire taire un scanner, c'est un peu le détecteur de fumée qu'on débranche parce qu'il sonne trop. Plus de bruit, toujours le feu. ## Elements STRIDE du pipeline de remédiation agentique
📬 Analyse complète réservée aux abonnés Substack
Cette partie part d'abord aux abonnés Substack, avant d'être publiée intégralement ici.
## Impact potentiel
📬 Analyse complète réservée aux abonnés Substack
Cette partie part d'abord aux abonnés Substack, avant d'être publiée intégralement ici.
📬 Analyse complète réservée aux abonnés Substack
Cette partie part d'abord aux abonnés Substack, avant d'être publiée intégralement ici.
## Mitigations : ce que je changerai concrètement dans un pipeline ## Auditer un correctif d'agent : trois signaux mesurables
📬 Analyse complète réservée aux abonnés Substack
Cette partie part d'abord aux abonnés Substack, avant d'être publiée intégralement ici.
> **Note du PandaRedacteur** : Si je ne sais pas faire échouer volontairement un correctif, je n'ai rien vérifié d'autre qu'une affirmation.

À l’échelle de deux ingénieurs pour 25 développeurs (l’exemple Cal.com de Hughes)

Hughes cite Cal.com, et ça rejoint ce que j’écrivais sur les AI-Pods : 2 ingénieurs sécurité pour 25 développeurs, passés de 40 à 100 pull requests par jour. À ce ratio, aucune équipe ne tient une revue manuelle exhaustive, ni pour la détection (Hughes), ni pour la vérification du correctif (Ijlal). Dans les deux visions, l’humain garde une seule chose : le clic final sur “merge”. Tout ce qui se passe avant doit être industrialisé. Sinon le goulot d’étranglement reste là ; il a juste changé d’étage dans le pipeline.

📚 Quelques références pour aller plus loin


À retenir 📌

  • ✓ Hughes (Resilient Cyber) et Ijlal (The Cloud Security Guy) posent le même diagnostic à quatre jours d'écart : le modèle AppSec par volume de findings ne tient plus face à la vélocité offensive assistée par IA.
  • ✓ Leurs réponses sont complémentaires, pas concurrentes : éliminer les causes racines en amont (Hughes) réduit le flux ; vérifier indépendamment chaque correctif en continu (Ijlal) sécurise ce qui reste.
  • ✓ Le SAST classique rate le contexte agentique : il scanne des fichiers, pas la logique qui relie les changements générés par un agent de développement.
  • ✓ La vérification déclarative ne suffit pas : exiger une preuve d'exploitation avant/après dans le pipeline CI, pas une relecture par un second modèle avec les mêmes biais.
  • ✓ Trois signaux mesurables sans LLM pour distinguer un vrai correctif d'un correctif cosmétique : règle statique sur la sanitisation maison, couverture différentielle du diff avec un test qui doit échouer avant le patch, et ratio correctifs/cause racine sur la durée.
  • ✓ Le seul contrôle humain qui tient à l'échelle reste le clic de merge final ; tout ce qui précède doit être industrialisé.