
Ying Zhang, professeure adjointe à Wake Forest University, et ses anciennes directrices de thèse à Virginia Tech — la professeure associée Na Meng et la professeure Danfeng Yao — ont développé un système basé sur de grands modèles de langage pour générer automatiquement des démonstrations de la façon dont un attaquant réel pourrait exploiter des vulnérabilités connues dans les logiciels. L'objectif du projet est que les développeurs voient le risque de manière concrète et le corrigent avant que des acteurs malveillants ne le découvrent, a rapporté le portail de divulgation scientifique TechXplore.
Le système produit ce que les chercheurs appellent des « exploits de preuve de concept » : des séquences étape par étape montrant exactement comment une faille est exploitée. Lors des tests, le système a généré ces démonstrations avec un haut niveau de fiabilité, une avancée sur un problème qui a résisté pendant des années aux solutions automatiques.
Le travail, présenté à Montréal, au Canada, lors de la conférence internationale ACM sur les fondements de l'ingénierie logicielle, part d'une réalité omniprésente dans l'usage quotidien de la technologie : les vulnérabilités des logiciels sont souvent cachées dans les interfaces de programmation d'applications — connues sous le nom de API — qui connectent différents programmes et permettent l'échange de données lorsqu'une personne utilise une application, achète en ligne ou interagit avec un service numérique.
« On peut voir une API comme un canal de communication entre deux pièces de logiciel », a expliqué Zhang. « Si l'API accepte des entrées malveillantes ou inattendues sans effectuer la validation adéquate et les contrôles de sécurité, les attaquants peuvent exploiter ces faiblesses pour activer des vulnérabilités, compromettre des systèmes ou réaliser des cyberattaques réussies. »

Pourquoi montrer l'attaque oblige à agir
L'équipe est partie d'un problème humain en plus d'un problème technique : les développeurs ont souvent tendance à privilégier le fonctionnement du programme et à reléguer la sécurité. « La plupart du temps, la sécurité est traitée comme une citoyenne de seconde classe, » a déclaré Meng. « Les développeurs tendent à privilégier la fonctionnalité par rapport à la sécurité, surtout lorsque les risques ne sont pas immédiatement visibles. »
Face à cette lacune, l'équipe a développé un outil basé sur de grands modèles de langage, la même technologie sous-jacente à des systèmes comme ChatGPT, pour produire automatiquement des tests pratiques d'exploitation. La logique, selon les chercheurs, est qu'un avertissement abstrait peut être ignoré, tandis qu'une démonstration concrète de la façon dont un système est vulnérable oblige à réagir. « Si les développeurs ont besoin d'une forte motivation, ils disent : 'Montre-moi l'exploitation' », a affirmé Zhang. « Alors ils apporteront les changements. »
La finalité du projet, a souligné la chercheuse, est défensive : aider les équipes de logiciels à comprendre le risque et à le résoudre avant que des acteurs malveillants ne le découvrent. Selon le portail, OpenAI a manifesté un intérêt pour le travail, un premier signe que la proposition attire déjà l'attention en dehors du domaine strictement académique.

La recherche vise la chaîne d'approvisionnement
Une seconde ligne de travail se concentre sur la chaîne d'approvisionnement de logiciels : le réseau de dépendances qui connecte des applications modernes construites en couches avec des bibliothèques tierces et du code externe. Dans cet environnement, une faille profonde à un niveau peut se propager vers le haut et exposer des systèmes dont les développeurs ne savent même pas qu'ils sont en risque.
Pour ce problème, l'équipe a développé des outils automatiques capables d'identifier quelles API précises à l'intérieur d'un programme sont vulnérables. Cette information est souvent absente ou incomplète, laissant les développeurs sans référence claire sur où concentrer leurs efforts de sécurité. « Il est difficile pour les développeurs de réaliser des inspections de code ou de localiser des vulnérabilités sans cette information », a signalé Zhang. « C'est pourquoi nous essayons d'en déduire automatiquement. »
La précision est le point clé de cette ligne de recherche. Savoir qu'il existe une faille quelque part dans le système offre beaucoup moins de valeur que savoir exactement où elle se trouve et quelles conditions pourraient permettre de l'exploiter.