← Derniers articles
🤖 AI

DualGauge: Automated Joint Security-Functionality Benchmarking of Specification-Only Code Generation by LLMs and Coding Agents

L'article présente DualGauge, un cadre et un benchmark automatisés démontrant que les LLM et les agents de codage actuels peinent à générer simultanément du code qui soit à la fois fonctionnellement correct et sécurisé, avec des taux de réussite conjoints restant inférieurs à 15 % sur plusieurs langages et révélant que l'amélioration des capacités des modèles ou l'échafaudage itératif ne résolvent pas de manière fiable ces compromis entre sécurité et fonctionnalité.

Auteurs originaux : Rupam Patir, Keyan Guo, Suvadra Barua, Abhijeet Pathak, Dinesh Gudimetla, Jiawei Guo, Hongxin Hu, Haipeng Cai

Publié 2026-06-16
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Rupam Patir, Keyan Guo, Suvadra Barua, Abhijeet Pathak, Dinesh Gudimetla, Jiawei Guo, Hongxin Hu, Haipeng Cai

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 engagiez un chef robot très talentueux et qui parle très vite pour préparer un repas basé sur une simple description verbale : « Fais un sandwich. »

Pendant longtemps, nous avons seulement vérifié si le robot suivait la recette. A-t-il mis du pain sur l'assiette ? Oui. A-t-il ajouté du jambon ? Oui. Si le sandwich ressemble à ce qu'il doit être, nous disons : « Beau travail ! »

Mais ce nouvel article, DualGauge, pose une question bien plus difficile : « Est-ce que le sandwich est sûr à manger ? »

Peut-être que le robot a suivi la recette parfaitement, mais qu'il a aussi accidentellement tranché le jambon avec un couteau rouillé trouvé dans le tiroir, ou qu'il a utilisé une planche à découper qui n'a jamais été lavée. Le sandwich ressemble à un sandwich, mais il est dangereux.

Voici l'histoire de ce que les chercheurs ont découvert, expliquée simplement.

1. Le Problème : Le piège du « Ça a l'air bon »

Les chercheurs ont découvert que les outils de codage IA actuels (comme le robot chef) sont excellents pour créer des choses qui semblent fonctionner, mais ils sont terribles pour créer des choses qui sont réellement sûres.

Ils ont construit un nouveau système de test appelé DualGauge. Voyez cela comme une « Cuisine à double vérification ».

  • L'ancienne méthode : Vous goûtez le sandwich. S'il a le goût du jambon, vous validez le test.
  • La méthode DualGauge : Vous goûtez le sandwich (Fonctionnalité), ET vous inspectez la cuisine pour vérifier l'absence de couteaux rouillés, de planches sales et de poison (Sécurité).

2. Le Benchmark : Les « 307 commandes de sandwichs »

Pour tester cela, ils ont créé un menu massif de 307 tâches différentes.

  • Chaque tâche n'était qu'une phrase simple, du genre « Écris un programme qui lit un fichier. »
  • Ils n'ont donné aucun indice, aucun extrait de code ou avertissement de sécurité à l'IA. Juste la commande.
  • Pour chaque commande, ils ont créé deux ensembles de tests :
    1. Le test de goût : Le programme fait-il ce qu'il est censé faire ?
    2. L'inspection de sécurité : Le programme essaie-t-il de voler des fichiers, de faire planter le système ou de laisser entrer des hackers ?

3. Les résultats choquants

Ils ont demandé à 10 des modèles d'IA les plus intelligents (les « chefs ») de préparer ces 307 sandwichs. Voici ce qui s'est passé :

  • Le score « Ça a l'air bon » était élevé : Beaucoup de modèles ont réussi environ 39 % des sandwichs en termes de goût. Ils ont suivi la recette !
  • Le score « Sécurité » était bas : En vérifiant la sécurité, les scores ont chuté.
  • Le score « Parfait » était minuscule : Quand on leur a demandé : « Avez-vous fait un sandwich qui a bon goût ET qui est sûr ? », le meilleur modèle d'IA a obtenu moins de 15 % de réussite.

L'analogie : Imaginez un étudiant passant un examen de mathématiques. Il obtient 90 % de bonnes réponses (Correctitude fonctionnelle). Mais si on lui demande : « As-tu aussi vérifié ton travail pour détecter des erreurs de calcul ? », il échoue. L'article a montré que être bon en codage ne signifie pas automatiquement être bon pour coder en toute sécurité.

4. Pourquoi « Réfléchir plus dur » n'a pas aidé

Les chercheurs ont essayé de résoudre le problème en donnant plus d'outils à l'IA, tout comme on donnerait de meilleurs couteaux ou plus de temps pour réfléchir à un chef. Ils ont essayé :

  • Des modèles plus grands : Utiliser des « super-chefs » (des cerveaux d'IA plus vastes).
  • Une réflexion étendue : Dire à l'IA : « Prends ton temps et réfléchis étape par étape. »
  • Un entraînement spécialisé : Enseigner spécifiquement à l'IA comment être un codeur.

Le résultat : Aucun de ces tours n'a pu corriger de manière fiable le problème de sécurité. Parfois, l'IA devenait meilleure pour la recette, mais oubliait toujours de laver la planche à découper. Parfois, elle devenait meilleure pour la sécurité, mais oubliait la recette. La sécurité et la fonctionnalité sont deux compétences différentes qui ne croissent pas toujours ensemble.

5. Le « Robot Assistant » n'a pas aidé non plus

Il existe de nouveaux outils d'IA qui agissent comme des « agents ». Au lieu de simplement écrire le code une fois, ils essaient de corriger leurs propres erreurs. Ils écrivent le code, l'exécutent, voient une erreur, et réessaient.

Les chercheurs ont constaté que sur ces tâches de « recette pure », les agents n'étaient pas meilleurs que les robots simples.

  • Pourquoi ? Les agents passaient tout leur temps à chercher des outils dans la cuisine (comme chercher un fichier spécifique ou configurer un serveur) au lieu de réellement corriger la sécurité du sandwich. Ils étaient occupés à « gérer la cuisine » mais pas à « cuisiner en toute sécurité ».

6. Le « Danger Caché »

L'article a identé un motif spécifique dans l'échec de l'IA.

  • Échecs fonctionnels : L'IA échouait généralement parce qu'elle se trompait sur la « forme » de la réponse (par exemple, elle renvoyait le mauvais type de données).
  • Échecs de sécurité : L'IA essayait généralement d'être sûre, mais elle était incomplète.
    • Exemple : L'IA a mis un verrou sur la porte (un garde de sécurité), mais elle a oublié de verrouiller la fenêtre arrière. Le garde semblait bon, mais la maison était toujours sans sécurité.

La conclusion

L'article conclut que nous ne pouvons pas simplement faire confiance à une IA parce qu'elle écrit du code qui « fonctionne ».

  • La correctitude fonctionnelle est un mauvais détecteur de mensonges pour la sécurité. Ce n'est pas parce que le code s'exécute sans planter qu'il est sécurisé.
  • Nous avons besoin d'un nouveau standard. Nous devons tester la sécurité et la fonction en même temps, en utilisant les mêmes règles.
  • L'IA actuelle n'est pas encore là. Même les modèles les plus intelligents échouent à produire de manière constante du code qui soit à la fois utile et sûr.

En bref : Ce n'est pas parce que le robot chef a fait un sandwich qui a l'air délicieux que vous devriez le manger. Nous devons aussi vérifier la cuisine.

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.

Essayer Digest →