Evaluating LLMs for Real-World Web Vulnerability Detection
Cet article évalue six modèles de langage de pointe et à poids ouverts sur leur capacité à détecter des vulnérabilités web réelles dans des extensions WordPress, révélant que si tous les modèles peuvent identifier des problèmes valides, les taux de détection varient considérablement selon le modèle et la conception du prompt, aucun modèle n'atteignant un signalement cohérent ou une précision parfaite à travers les itérations.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous possédez une immense bibliothèque de « manuels d'instructions » numériques (du code) pour construire des sites web. Certains de ces manuels contiennent des pièges cachés — comme une planche de parquet mal fixée qui mène à un sous-sol rempli de voleurs (hackers). Ces pièges sont appelés vulnérabilités.
Pendant longtemps, trouver ces pièges nécessitait une équipe d'experts en sécurité lisant manuellement chaque page de chaque manuel. Mais récemment, un nouveau genre de « super-lecteur » est arrivé : les Grands Modèles de Langage (LLM). Ce sont des systèmes d'IA capables de lire et de comprendre le code presque comme un humain le fait.
Ce document est essentiellement un bulletin de notes testant la capacité de six différents « super-lecteurs » à trouver ces pièges cachés dans les extensions (plugins) de sites web WordPress (les modules complémentaires qui donnent des fonctionnalités supplémentaires aux sites).
Voici la décomposition de leur expérience et de leurs conclusions, en utilisant des analogies simples :
1. La mise en place : La « Chasse aux Pièges »
Les chercheurs ont choisi quatre extensions WordPress populaires qui étaient connues pour contenir des pièges spécifiques et réels (comme l'injection SQL, qui est une ruse de hacker pour forcer une base de données à livrer ses secrets, ou le Cross-Site Scripting, qui est comme un hacker injectant une fausse note sur un tableau d'affichage public).
Ils ont demandé à six modèles d'IA différents d'agir comme des auditeurs de sécurité. Ils ne leur ont pas simplement posé la question une seule fois ; ils ont répété le test trois fois pour voir si l'IA était cohérente, comme si l'on demandait à un élève de passer le même examen trois jours de suite.
Ils ont également essayé différentes façons de poser la question (appelées « prompts » ou consignes) :
- La consigne « Paresseuse » : Disait simplement, « Trouve les bugs. »
- La consigne « Générale » : Disait, « Tu es un expert en sécurité. Trouve tous les types majeurs de bugs. »
- La consigne « Spécifique » : Disait, « Tu es un expert en sécurité. Cherche spécifiquement ce type exact de bug. »
2. Les résultats : Qui a réussi le test ?
Les résultats étaient un mélange de succès impressionnants et d'incohérence frustrante.
- L'élève brillant : Un modèle, Claude Opus 4.6, a été le meilleur dans son travail. Il a trouvé environ 63 % des pièges connus. C'était le détective le plus fiable.
- La surprise de l'Open-Source : Un modèle appelé MiniMax M2.5, qui peut être exécuté sur votre propre ordinateur (contrairement aux autres qui nécessitent un abonnement payant), a performé aussi bien que les meilleurs modèles payants, trouvant environ 48 % des pièges. C'est comme si un repas fait maison avait le même goût qu'un plat de restaurant cinq étoiles.
- Les élèves en difficulté : Les modèles Qwen (une autre option open-source) n'ont trouvé qu'environ 35 % des pièges. Ils en ont raté plus de la moitié du temps.
La grande conclusion : Même la meilleure IA a raté près de 40 % des pièges. Aucun modèle unique n'a trouvé chaque piège dans chaque extension.
3. La « Question Magique » (Conception du Prompt)
Les chercheurs ont découvert que la façon dont vous posez la question à l'IA importe plus que l'IA elle-même.
- Le spécifique est préférable : Si vous disiez à l'IA, « Cherche spécifiquement l'injection SQL », elle trouvait plus de bugs que si vous disiez « Cherche ce qui ne va pas ». C'est comme dire à un utilisateur de détecteur de métaux : « Cherche des pièces d'or », plutôt que « Cherche n'importe quel métal ».
- La complexité n'aide pas : Donner à l'IA un manuel d'instructions long et compliqué, étape par étape, ne la rendait pas plus intelligente. Des instructions simples et directes fonctionnaient tout aussi bien.
4. Le problème du « Pile ou Face » (Cohérence)
C'était la découverte la plus surprenante. L'IA était peu fiable.
Si vous posiez la même question à la même IA sur le même code trois fois, elle donnait une réponse différente à chaque fois.
- Parfois, elle disait : « J'ai trouvé un piège ! »
- La fois suivante, elle disait : « Tout semble sûr. »
- La troisième fois, elle pouvait dire : « J'ai trouvé un piège, mais c'est un piège différent. »
Un seul modèle (Gemini) était cohérent 95 % du temps, mais c'était aussi celui qui trouvait le moins de pièges. Les meilleurs modèles étaient souvent incohérents, agissant comme un lancer de pièce. Cela signifie que vous ne pouvez pas faire confiance à un seul scan ; vous devez effectuer le scan plusieurs fois pour être sûr.
5. Le « Piège Fantôme » (Celui que tous ont raté)
Il y avait une extension spécifique avec un piège complexe appelé « Stored Cross-Site Scripting ». Aucune des six IA ne l'a trouvé, même après 90 tentatives.
Pourquoi ? Le piège était caché derrière un paramètre très spécifique qui n'était pas activé par défaut. Les IA ont supposé : « Puisque le paramètre n'est pas activé, ce code n'a pas d'importance », et ont passé outre. C'était un cas où l'IA a fait une supposition logique qui s'est avérée fausse.
6. Comment cela se compare-t-il aux outils traditionnels ?
Les chercheurs ont également passé le code dans un scanner de sécurité traditionnel (Semgrep), qui est comme un détecteur de métaux qui ne bipe que pour des formes spécifiques.
- Le résultat : Le scanner traditionnel a trouvé zéro des pièges connus.
- La leçon : Les IA étaient bien meilleures pour trouver ces pièges spécifiques du monde réel que les anciens outils, mais elles en ratent encore certains.
Le Verdict Final
Le document conclut que l'IA est un assistant puissant, mais pas un remplaçant pour les experts en sécurité humains.
- Cela fonctionne : L'IA peut trouver de vrais bugs dangereux dans le code d'un site web.
- Ce n'est pas parfait : Elle rate environ la moitié des bugs et change d'avis fréquemment.
- Comment l'utiliser : Vous obtenez de meilleurs résultats en utilisant un modèle de haut niveau (comme Claude), en lui posant une question spécifique (« Cherche les bugs SQL ») et en répétant le test plusieurs fois.
- L'avertissement : Vous ne pouvez pas simplement faire confiance au rapport de l'IA. Les humains doivent encore vérifier les résultats car l'IA « hallucine » parfois (invente des bugs qui n'existent pas) ou manque des pièges complexes.
En bref, l'IA est une excellente nouvelle lampe torche pour trouver les trous dans l'armure de votre site web, mais vous avez toujours besoin d'un humain pour tenir la lampe, vérifier les ombres et s'assurer que le mur est réellement sécurisé.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.