SEC-bench Pro: Can Language Models Solve Long-Horizon Software Security Tasks?
Cet article présente SEC-bench Pro, un benchmark rigoureux comprenant 183 vulnérabilités réelles dans V8 et SpiderMonkey, qui révèle que les agents de codage actuels basés sur des modèles de langage peinent à accomplir des tâches de sécurité logicielle à long terme, atteignant au maximum un taux de réussite de 38,8 % même avec des modèles de pointe.
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 embauchiez une équipe de détectives ultra-intelligents, propulsés par l'IA, pour repérer des pièges cachés dans un moteur de jeu vidéo massif et complexe. Ces moteurs (appelés moteurs JavaScript) exécutent le code qui fait fonctionner les sites web et les applications. Si un détective trouve un piège, il doit montrer exactement comment le déclencher (une « Preuve de Concept » ou PoC) afin que les développeurs du jeu puissent le corriger.
Ce document présente un nouveau test très rigoureux appelé SEC-bench Pro pour évaluer à quel point ces détectives IA sont réellement efficaces pour trouver ces pièges dans le monde réel.
Le problème des anciens tests
Les tests précédents revenaient à remettre au détective une carte au trésor où le « X » marquant l'emplacement du trésor était déjà indiqué. Ils pouvaient dire : « Allez à la ligne 500 et appuyez sur ce bouton pour faire planter le jeu. »
- Le problème : La chasse aux bogues réelle ne fonctionne pas ainsi. Les vrais détectives doivent examiner l'ensemble du code, déterminer où le piège pourrait se trouver, puis tenter de le déclencher sans savoir exactement où il est. Les anciens tests ne mesuraient pas cette compétence réelle ; ils se contentaient de vérifier si l'IA pouvait suivre une carte.
Le nouveau test : SEC-bench Pro
Les auteurs ont construit un nouveau test plus difficile en utilisant deux moteurs de jeu célèbres : V8 (utilisé par Google Chrome) et SpiderMonkey (utilisé par Firefox).
- La configuration : Ils ont pris 183 pièges réels et confirmés que des humains avaient découverts auparavant.
- L'environnement : Ils ont recréé la version exacte « machine à remonter le temps » du logiciel où le piège existait, ainsi que la version où il avait été corrigé.
- Les règles : Les agents IA ont reçu le code brut et une description vague d'un problème. Ils devaient :
- Identifier le chemin de code spécifique menant au piège.
- Écrire un script (la PoC) pour déclencher le plantage.
- Prouver que le script ne fait planter que l'ancienne version et qu'il est corrigé dans la nouvelle version.
Le Juge « Trois Images »
C'est la partie la plus importante de leur nouveau test. Autrefois, si une IA provoquait n'importe quel plantage, elle gagnait un point. Mais une IA pourrait accidentellement casser quelque chose d'autre dans le jeu qui n'était pas le piège spécifique qu'elle recherchait.
SEC-bench Pro utilise un Juge « Trois Images » (un arbitre IA sophistiqué) :
- Image 1 (Le Piège) : Le script fait-il planter l'ancienne version ?
- Image 2 (La Correction) : Le script arrête-t-il de faire planter la nouvelle version (où le correctif est appliqué) ?
- Image 3 (La Dernière) : Le script fait-il planter la toute dernière version (où d'autres corrections auraient pu avoir lieu) ?
Si l'IA provoque un plantage dans l'ancienne version mais aussi dans la version corrigée, le Juge dit : « Vous n'avez pas trouvé le piège spécifique ; vous avez simplement cassé le jeu en général. » Cela empêche l'IA de gagner des points pour des erreurs heureuses et sans rapport.
Les résultats : les détectives IA peinent
L'article a testé trois détectives IA de premier plan (propulsés par des modèles comme GPT-5.4, Opus 4.6 et Kimi-K2.6). Voici ce qui s'est passé :
- Le tableau des scores : Même l'IA la plus intelligente n'a pu résoudre qu'environ 32 % à 39 % des pièges. Cela signifie qu'elle a échoué dans plus de 60 % des cas.
- Le « Rookie » à poids ouvert : Une IA moins chère et open-source (Kimi-K2.6) n'a résolu qu'environ 11,7 % des pièges V8.
- L'effet de l'équipe : Fait intéressant, les détectives IA ont trouvé des pièges différents. Lorsque l'on combine les résultats des deux meilleures IA, elles résolvent ensemble environ 48 % des pièges SpiderMonkey, mais aucune ne peut le faire seule. Elles sont comme deux détectives ayant des spécialités différentes ; l'une est bonne pour trouver un type de indice, l'autre pour un autre type.
Pourquoi ont-ils échoué ?
L'article a identifié deux raisons principales pour lesquelles les IA ont eu du mal :
- Trop de devinettes (l'approche « Tirer au hasard et prier ») : Une IA (Claude) a tenté de générer des milliers de scripts. La plupart ne faisaient réellement rien planter, ou faisaient planter la mauvaise chose. C'était comme lancer un million de fléchettes sur une cible en espérant qu'une seule touche le centre.
- Trop de prudence (l'approche « Trop réfléchisseur ») : Une autre IA (Codex) était très prudente. Elle analysait le code, décidait qu'un piège pourrait être là, mais si elle ne pouvait pas le prouver à 100 % avant de soumettre, elle abandonnait et disait « Je ne peux pas le faire ». Elle a manqué de nombreux pièges parce qu'elle avait trop peur de se tromper.
La grande conclusion
L'article conclut que, bien que l'IA s'améliore dans l'écriture de code, elle n'est toujours pas très bonne dans le processus long et difficile de la chasse aux bogues de sécurité dans des logiciels complexes et réels.
La meilleure IA actuelle peut trouver quelques pièges, mais elle en manque la majorité. Le nouveau référentiel (SEC-bench Pro) prouve que nous avons besoin d'outils meilleurs pour aider ces IA à relier les points entre le code et les pièges cachés, plutôt que de simplement espérer qu'elles aient de la chance avec un plantage.
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.