IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

AI Slop ? Pas cette fois. Un chercheur en sécurité utilise l'IA pour repérer une cinquantaine de bogues réels dans le code du projet open source cURL,
Démontrant son efficacité sous supervision humaine

Le , par Mathis Lucas

178PARTAGES

6  0 
AI Slop ? Pas cette fois. Un chercheur en sécurité utilise l'IA pour repérer une cinquantaine de bogues réels dans le code du projet open source cURL
démontrant son efficacité sous supervision humaine

Le projet cURL a été confronté à une avalanche de rapports de bogues générés automatiquement par l'IA ces dernières années. Ces rapports sont souvent de faible qualité, souvent incohérents ou non pertinents. Cette situation a entraîné une surcharge de travail pour les mainteneurs, qui avaient donc été contraints d'interdire les rapports de bogues générés par l'IA. Cependant, un chercheur en sécurité a récemment utilisé l'IA pour soumettre des rapports à cURL et ces rapports ont permis d'identifier environ 50 vulnérabilités dans le code. Les mainteneurs ont salué la qualité de ces découvertes, soulignant que l'IA peut aider lorsqu'elle est bien utilisée.

cURL est un outil et une bibliothèque de ligne de commande essentiels pour interagir avec les ressources Internet. Le projet open source reçoit des rapports de bogues et des problèmes de sécurité par le biais de nombreux canaux, notamment HackerOne, un service de signalement qui aide les entreprises à gérer les rapports de vulnérabilité et les primes aux bogues. Mais les pratiques ont évolué au cours de ces deux dernières années.

HackerOne s'est passionné pour les outils d'IA. « Une plateforme, une force double : l'esprit humain + la puissance de l'IA », peut-on lire sur sa page d'accueil. Ainsi, les utilisateurs s'appuient de plus en plus sur les outils d'IA de la plateforme pour générer des rapports de bogue et de sécurité.

Mais il s'avère que ces rapports sont en majorité le résultat des hallucinations de l'IA, et donc inutiles. Seth Larson, expert en cybersécurité en résidence à la Python Software Foundation, a soulevé la question dans un billet de blogue viral en décembre 2024. Il a exhorté les personnes qui signalent des bogues à ne pas utiliser de systèmes d'IA pour la chasse aux bogues. Selon lui, les systèmes d'IA actuels ne sont pas fiables dans ce contexte.


Les rapports de bogues de mauvaise qualité générés par l'IA ont posé problème non seulement à cURL, mais aussi à la communauté Python, à Open Collective et au projet Mesa. Ce déluge a incité Daniel Stenberg, responsable du projet open source cURL, à publier plusieurs articles de blogue sur le sujet afin de convaincre les chasseurs de bogues de faire preuve de retenue et de ne pas faire perdre de temps aux contributeurs avec des problèmes invalides.

Impacts de rapports de mauvaise qualité sur les mainteneurs

Ce phénomène exacerbe une charge de travail déjà lourde. Beaucoup de mainteneurs sont des bénévoles qui jonglent entre leur travail, leur vie personnelle, et leurs responsabilités dans des projets open source. Traiter des rapports inutiles prend du temps, fatigue émotionnellement et peut entraîner un épuisement professionnel. Seth Larson estime que les rapports de mauvaise qualité doivent être traités comme s'ils étaient malveillants.

À titre d'exemple, Daniel Stenberg a évoqué un rapport de bogue datant du 4 mai 2025. Il suggérait un « nouvel exploit exploitant les cycles de dépendance de flux dans la pile de protocoles HTTP/3 ». La mauvaise gestion des dépendances de flux, lorsqu'un aspect d'un programme attend la sortie d'un autre aspect, peut conduire à l'injection de données malveillantes, à des conditions de course et à des plantages, ainsi qu'à d'autres problèmes.

Le rapport en question suggère que cela pourrait rendre cURL, qui est compatible avec HTTP/3, vulnérable à des exploits pouvant permettre l'exécution de code à distance. Mais comme le souligne le personnel de cURL, le correctif « configuration de serveur malveillant » soumis ne s'appliquait pas aux dernières versions d'un outil Python en question. Interrogé à ce sujet, l'auteur du signalement a répondu d'une manière étrangement prompte.

Il répondait à des questions qui n'avaient pas été posées par l'équipe de cURL et incluait ce qui semble être des instructions de base sur la manière d'utiliser l'outil git pour appliquer un nouveau correctif. L'auteur du signalement n'a pas non plus fourni le nouveau fichier correctif demandé, a cité des fonctions qui n'existent pas dans les bibliothèques sous-jacentes et a suggéré des tactiques de renforcement pour des utilitaires autres que cURL.

L'équipe de cURL a finalement fermé le rapport, mais l'a également rendu public pour servir d'exemple. Alex Rice, cofondateur, directeur technique et responsable de la sécurité des systèmes d'information de HackerOne, a déclaré que les rapports contenant « des vulnérabilités hallucinées, un contenu technique vague ou incorrect, ou d'autres formes de bruit à faible effort » sont traités comme du spam et font l'objet d'une mise en application.

Le problème viendrait des utilisateurs et non de la technologie

Ce phénomène souligne un problème plus général : les projets open source fonctionnent grâce à quelques bénévoles. L’utilisation abusive de l'IA peut nuire à l’écosystème, en gaspillant l'énergie précieuse des personnes qui le maintiennent. Les hallucinations des modèles constituent un problème majeur de l'IA générative auquel les chercheurs n'ont pas encore trouvé de solution. Selon une étude de 2024, il pourrait s'agir d'un problème insoluble.


Dans certains cas, les auteurs des signalements erronés sont des personnes novices qui testent des IA sur du code. Ou pire, elles utilisent les rapports générés par l'IA pour tenter d'obtenir des récompenses financières via des programmes de primes aux bogues sans fournir de véritables contributions.

Il apparaît désormais que le problème vient davantage des personnes que de la technologie. En septembre 2025, le projet cURL a reçu des dizaines de signalements potentiels de Joshua Rogers, un chercheur en sécurité basé en Pologne. Joshua Rogers a identifié divers bogues et vulnérabilités à l'aide de plusieurs outils d'analyse propulsés par l'IA. Ses rapports se sont révélés non seulement valables, mais également beaucoup appréciés des mainteneurs.

Dans un billet publié sur Mastodon, Daniel Stenberg a déclaré : « ce sont vraiment des découvertes impressionnantes ». Dans sa mise à jour sur la liste de diffusion du projet, il a déclaré : « la plupart d'entre eux étaient de petites erreurs et des détails insignifiants dans le style d'un analyseur de code statique ordinaire, mais il s'agissait tout de même d'erreurs qu'il valait mieux corriger. Plusieurs des problèmes détectés étaient des découvertes assez impressionnantes ».

Parmi les vulnérabilités découvertes figurait une lecture hors limites dans Kerberos5 FTP qui n'a pas été considérée comme une faille de sécurité, mais qui a néanmoins été corrigée. Selon Daniel Stenberg, une cinquantaine de corrections de bogues basées sur les rapports de Joshua Rogers avaient été fusionnées.

Il faut néanmoins rester prudent quant à la façon d'utiliser l'IA

Le principal responsable du projet cURL Daniel Stenberg a reconnu la valeur de ces signalements. Les problèmes détectés allaient de petites incohérences à des bogues réels dans le code de la bibliothèque cURL. Toutefois, Daniel Stenberg reste prudent. Il explique que ces nouveaux outils représentent une évolution utile, non pas une révolution. L’IA ne remplace pas les développeurs, mais sert d’assistant capable de repérer des zones de code problématiques.

« Je ne pense pas que cela ait beaucoup changé mon opinion sur l'IA, si ce n'est peut-être prouver qu'il existe d'excellents outils d'analyse de code basés sur l'IA. Cela souligne peut-être aussi à quel point les rapports que nous recevons encore de la part des utilisateurs les plus naïfs sont ridicules », a-t-il écrit.

Joshua Rogers a rédigé un résumé des outils d'IA d'analyse des vulnérabilités qu'il a testés. Il a conclu que ces outils (Almanax, Corgea, ZeroPath, Gecko et Amplify) sont capables de détecter de réelles vulnérabilités dans des codes complexes. « Ce type de systèmes sera probablement la technologie la plus influente, voire la plus intéressante et la plus efficace pour détecter les vulnérabilités dans un avenir proche, du genre de celles que l'on n'avait plus vues depuis 2013 environ, lorsque le fuzzing est redevenu populaire avec afl-fuzz », a-t-il écrit.

L'industrie se tourne vers la recherche de bogues assistée par l'IA

Le projet OSS-Fuzz de Google a déclaré que la recherche de bogues assistée par l'IA est efficace. Mais le message est plus crédible lorsqu'il provient d'un chercheur en sécurité individuel plutôt que d'un fournisseur d'IA disposant d'énormes ressources. Dans le même temps, l'expérience rapports de mauvaise qualité prouve que l'IA est loin d'être prête à travailler de manière autonome. Joshua Rogers a particulièrement fait l'éloge de l'outil ZeroPath.

« En analysant des logiciels open source, il a littéralement trouvé des centaines de vulnérabilités et de bogues réels dans des logiciels très critiques : sudo, libwebm, Next.js, Avahi, hostap, cURL, Squid (pas si critique, mais il a littéralement trouvé plus de 200 bogues réels). Oui, enfin, l'IA a trouvé de vrais bogues dans cURL ! En effet, non seulement ZeroPath a trouvé une multitude de vulnérabilités, mais il s'est également révélé redoutablement efficace pour trouver des bogues normaux, lorsqu'on lui a donné une règle personnalisée pour le faire », a déclaré le chercheur en sécurité.

Malgré tout, ces outils ont leurs limites. Joshua Rogers a déclaré qu'aucun des outils d'IA d'analyse de code n'avait été capable de détecter un bogue de boucle infinie précédemment identifié dans le package npm image-size. Selon lui, cette vulnérabilité n'avait toujours pas été corrigée en septembre 2025, malgré un correctif soumis en avril. Là encore, c'est un problème humain.

Conclusion

Les rapports de bogue de mauvaise qualité générés par l'IA sont devenus un problème pour les mainteneurs de logiciels libres et open source. Ce phénomène met en évidence les défis posés par l'utilisation non encadrée de l'IA dans la détection de vulnérabilités. Selon Daniel Stenberg et d'autres, cela souligne la nécessité d'une approche plus rigoureuse et collaborative pour maintenir la qualité et la sécurité des projets libres et open source.

Toutefois, l’expérience de cURL montre que l’IA peut être efficace lorsqu’elle est utilisée sous supervision humaine. Ce n’est pas l’outil en lui-même qui fait la différence, mais la façon dont il est exploité. Les humains doivent toujours vérifier, filtrer et valider les rapports avant d’agir. Lorsqu'ils sont utilisés par une personne ayant une expérience significative dans le domaine, les outils d'IA peuvent être très utiles, voire surprenants.

Sources : Daniel Stenberg, responsable du projet open source cURL ; Joshua Rogers, chercheur en sécurité

Et vous ?

Quel est votre avis sur le sujet ?
Que vous inspire l'expérience de cURL ?
Que pensez-vous des outils actuels d'IA d'analyse de code ?
Ces outils pourront-ils un jour être déployés sans supervision humaine ?

Voir aussi

Le projet open source cURL interdit les rapports de bogue inutiles générés par l'IA : « nous n'avons toujours pas vu un seul rapport de sécurité valide rédigé avec l'aide de l'IA »

Les mainteneurs de logiciels libres sont noyés dans des rapports de bogues inutiles rédigés par l'IA. « Ces systèmes ne sont pas encore capable de comprendre le code », estime un développeur

L'IA peut écrire du code mais ne parvient pas à le comprendre, selon une étude d'OpenAI. Testés sur des tâches réelles de programmation, les modèles les plus avancés n'ont pu résoudre qu'un quart des défis
Vous avez lu gratuitement 21 918 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de fr1man
Expert confirmé https://www.developpez.com
Le 28/05/2026 à 13:32
@Artaeus
Parce que vous croyez que seuls les mauvais développeurs introduisent des bugs ?
C'est un peu simpliste comme raisonnement.
5  1 
Avatar de imperio
Membre chevronné https://www.developpez.com
Le 28/05/2026 à 11:46
Citation Envoyé par Artaeus Voir le message
Ce projet, c'est réinventer la roue (mais en version bien plus lente) ...

La manière dont cette priorité de "passer en Rust" est poussée m'interroge beaucoup sur des conflits d'intérêt et des non-dit en coulisse.
Faire des économies d'argent sur le long-terme en enlevant toute une catégorie de bugs et attirer des contributeurs plus jeunes sur le noyau pour assurer sa pérennité dans le temps.

C'est pas comme si Rust était testé dans le kernel depuis plusieurs années pour voir si ça valait le coup et leur convenait après tout... Et le plus beau : tous ces débats sont publics. Faut arrêter de chercher des complots à un moment...
3  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 28/05/2026 à 11:50
La priorité n'est pas de passer en Rust, Greg Kroah-Hartman est clair là dessus dans la conférence. Il dit que Rust est a préférer pour les nouveaux driver / sous-systèmes, mais il n'est pas question de demander aux mainteneurs de recoder ce qui existe déjà en Rust. Si un module est remplacé, comme l'Android Binder qu'il donne en exemple, c'est que c'est une volonté du mainteneur, en l’occurrence Google.
3  0 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 28/05/2026 à 14:01
Citation Envoyé par Artaeus Voir le message
Les bons dev, jeunes ou anciens, sécurisent leur code.
Maladroit! Vous êtes en train de sous-entendre que les concepteurs des applis qu'on utilise tout le temps et qui présentent régulièrement des bugs sont des grosses brêles...

Citation Envoyé par Artaeus Voir le message
Avec l'explosion des couts matériels, la priorité doit-être la rapidité (comme ça a toujours été le cas).
Ça tombe bien! La sémantique du langage Rust, et notamment la sémantique de prêt, associée aux capacités d’optimisation du compilateur de Rust permettent de très bonnes optimisation du code. Par exemple, la sémantique de prêt offre un contrôle de l'aliasing de la mémoire probablement plus précis qu'un mot clef comme 'restrict' en C. On pourrait aussi évoquer les facilités à paralléliser le code...
3  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 30/05/2026 à 15:04
Citation Envoyé par Bardaz Voir le message
Je ne sors pas ça du chapeau, faites une recherche, même rapide sur la partie financière de Rust et sur les protocoles de décisions des instances des différents langages. La plupart des personnes se concentrent sur la partie technique à juste titre c'est la première à interroger mais il ne faut aucunement s'arrêter là. Il faut avouer que c'est pas un aspect très apétant pour des devs mais faut bien s'y coller pour comprendre pourquoi les bigs techs et le gouvernement US soutient à fond.
Il faudrait que tu sois plus précis car ce que tu reproches au Rust, comparé au C et C++, n'est pas très clair .
Les protocoles de décision en ce qui concerne l'évolution de Rust sont connus et relativement ouverts. Il ne faut pas croire que c'est très différent coté C ou C++, les comités de normalisation du langage ont beau répondre à une norme ISO, ils ont tout autant leur problèmes de jeu de pouvoir.

Citation Envoyé par calvaire Voir le message
c'est juste que je vois passer beaucoup de news sur le net de certains qui veulent absolument tous recoder un truc (même quand ça marche très bien depuis des années) en rust.
Meme antropic fait sa pub en codant en rust un compilateur c. L’intérêt technique de ce truc et nul, ils ont choisit volontairement pour faire de la pub de coder en rust parmi les 10aines d'autres langages populaire qui existe.
Les tentatives de porter, sans de très bonnes raisons, un outil C qui marche bien en Rust ne sont pas légion. Si tu as l'impression qu'on en parle beaucoup, c'est la plupart du temps parce que les supporters du C et du C++ remontent en boucle les mêmes cas particuliers. Généralement les gens qui connaissent Rust sont les premiers à recommander de ne pas le faire, à moins que le besoin d'un réécriture se fasse vraiment sentir.

En ce qui concerne Anthropic, je suppose que tu parles de Bun, mais c'est une suite d'outils pour le langage TypeScript, écrite en Zig. Pas de rapport avec C. Je dirais même qu'une partie de la problématique est inversée, vue que Zig est un langage bien plus niche que le Rust.
Cependant, c'est vrai que cette migration n'était pas pas indispensable, surtout que ça a été fait de manière précipitée à coup d' IA générative quasiment pas supervisée, ce qui est critiqué en premier lieu par la communauté Rust.
2  0 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 02/06/2026 à 13:19
Citation Envoyé par Uther Voir le message
Les tentatives de porter, sans de très bonnes raisons, un outil C qui marche bien en Rust ne sont pas légion. Si tu as l'impression qu'on en parle beaucoup, c'est la plupart du temps parce que les supporters du C et du C++ remontent en boucle les mêmes cas particuliers. Généralement les gens qui connaissent Rust sont les premiers à recommander de ne pas le faire, à moins que le besoin d'un réécriture se fasse vraiment sentir.
Ces montages en boucles viennent aussi de certains préjugés. C'est à croire que certains pensent que les personnes qui programment en Rust ont découvert la programmation avec Rust et veulent refaire le monde en oubliant le passé... Et bien non, beaucoup d'entre nous ont un historique de programmation, et les bons réflexes qu'on avait en faisant du C ou du C++ à une certaine époque, puis en utilisant d'autres langages, n'ont pas disparu depuis qu'on fait du Rust.
2  0 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 29/05/2026 à 14:44
Citation Envoyé par Mingolito Voir le message
Il y a un conflit de génération, les anciens codeur C++ de l'équipe seront bientôt séniles ou morts, et les jeunes ne veulent pas coder en C++ c'est trop compliqué, mais en Rust peut être. Donc l'idée est de remplacer l'équipe C++ mourante par une équipe plus jeune, sur Rust.
Il faut quand même reconnaitre que le code Rust sera plus facile à lire et induira moins de risques de vulnérabilités que le C++. Google est déjà en train de faire le pas avec des résultats probants :

Google a adopté Rust pour des raisons de sécurité et a constaté une réduction de 1 000 fois des vulnérabilités liées à la sécurité de la mémoire

« Les équipes Rust chez Google sont deux fois plus productives que celles qui se servent de C++ »
Le langage développé par Google, c'est surtout Go. Mais il est vrai que Google met particulièrement en avant Rust, le langage qui a été créé par Mozilla notamment pour d'anciens projets expérimentaux comme servo.

Mais je me réfère plutôt à la liste des financeurs de la fondation Rust, pour mesurer l'adoption progressive du langage.


J'avais noté précédemment l'arrivée d'arm comme financeur Platinum du langage, mais je note aussi que Canonical, le commanditaire de l'OS Ubuntu, est désormais financeur Gold.

Et non, il n’y a pas de complot contre les langages C/C++ : il s’agit simplement d’une montée d’intérêt progressive, venant de différents acteurs indépendants, sans implication particulière au départ dans ce projet.

2  1 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 29/05/2026 à 16:03
Citation Envoyé par UneMouchePasse Voir le message
Chacun voit midi à sa porte, perso la secte C\C++ bloquée dans les années 2000 je la trouve encore bien présente. Enfin elle est bientôt à la retraite.
Je suis vieux et j'aime bien Rust! On n'est pas dans une guerre générationnelle, quand même!
1  0 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 01/06/2026 à 9:40
Citation Envoyé par calvaire Voir le message
Il y'a 10ans je disais la même chose avec la "secte" javascript, tous le monde voulaient tous recoder en javascript.
Je ne code pas en javascript/typescript, mais cela reste incontournable dans le developpement web, me semble-t-il.

Citation Envoyé par calvaire Voir le message
Tous ça sait d'ailleurs terminé à du web assembly.
Cela cible des choses différentes. C'est très bien pour faire des modules bas niveau ou pour compiler de l'existant, Rust, C/C++ ou Zig notamment.

Citation Envoyé par calvaire Voir le message
Perso je conseil plutôt de partir sur du des technos de niche à forte valeur : Scala, Clojure ou Zig
On est vraiment dans des technos de niche, là.
Et pour ce qui est de Scala, on est davantage dans l'effet de mode que JavaSctipt qui a une porté universelle dans le monde web. Heureusement qu'il lui reste une implémentation importante dans le domaine des grandes données et du distribué JVM.
J'aime bien ce langage ceci étant, et il a contribué à mon basculement dans le monde Rust (et oui...).
1  0 
Avatar de fdecode
Membre habitué https://www.developpez.com
Le 01/06/2026 à 11:16
Citation Envoyé par calvaire Voir le message
Je parle d'un point de vue carrière/business, pas de la technique dont je m'en fou.
J'ai compris cela. Mais l'impact futur de langages de niche comme Scala reste difficile à évaluer, me semble-t-il. Je ne fonderais pas une carrière là-dessus au delà du moyen terme.
Scala ne s'est pas vraiment sorti du monde JVM (les alternatives js et LLVM proposées n'ont pas beaucoup d'impact), ce que je trouve un peu embêtant. L'écosystème JVM va rester longtemps, mais sa place s'érode.

Citation Envoyé par calvaire Voir le message
il y a une vraie déconnexion je trouve entre la hype technique autour de Rust et la réalité du marché de l'emploi local.
Alors cet hypothétique "forcing" de Rust n'est qu'une broutille dont il est inutile de s'inquiéter.

Citation Envoyé par calvaire Voir le message
tout ne tourne pas autour de l'argent dans la vie
Cela ne fait pas trop sens de devenir développeur pour l'argent, surtout face aux capacités de codage émergentes des IA. Il y a des formations qui payent mieux.

Citation Envoyé par calvaire Voir le message
Mais n'allez pas faire du rust en croyant que vous allez avoir un meilleur salaire a l'heure ou j'écris ces lignes.
Cette question ne se pose pas pour ma part. Mais je suis assez d'accord sur ce point, et à l'heure actuelle.
2  1