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 !

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 »

Le , par Mathis Lucas

312PARTAGES

6  0 
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 projets libres et open source sont submergés par des rapports de bogues inutiles rédigés par l'IA. S'ils semblent convaincants en apparence, ces rapports sont souvent basés sur les hallucinations de l'IA et nécessitent un temps considérable pour être vérifiés, ce qui détourne les ressources limitées des développeurs bénévoles. Cette situation peut entraîner une perte de temps, de l'épuisement et une diminution de la motivation des contributeurs bénévoles. Daniel Stenberg, créateur du projet cURL, a surnommé ces rapports de faible qualité « AI slop ». Dans un récent billet, il a formellement interdit les rapports de bogues générés par l'IA.

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 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é.

Un afflux de rapports de bogues de mauve qualité générés par IA

L'adoption des outils d'IA par les plateformes telles que HackerOne pose un problème majeur à la communauté des logiciels libres : la multiplication de rapports de vulnérabilités générés par des outils d'IA, souvent erronés ou trompeurs, qui submergent les mainteneurs. Les fabricants de modèles d'IA s'attendent à ce que l'IA aide les développeurs à détecter les bogues beaucoup plus rapidement afin de jouir de plus de temps pour innover.


Mais il s'avère que ces rapports sont en majorité le résultat des hallucinations de l'IA, et donc inutiles. Seth Larson, développeur de sécurité en résidence à la Python Software Foundation, a soulevé la question dans un billet de blogue en décembre dernier. 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.

« J'ai remarqué une augmentation des rapports de sécurité de qualité extrêmement médiocre, spammés et hallucinés par les LLM dans les projets open source. À première vue, ces rapports de bogue semblent potentiellement légitimes et nécessitent donc du temps pour être réfutés », écrivait-il, rappelant les résultats similaires obtenus par le projet cURL en janvier 2024. Récemment, c'est le créateur du projet cURL qui a exprimé son ras-le-bol :

Citation Envoyé par Daniel Stenberg, créateur du projet cURL

Voilà, c'est fait. J'en ai assez. Je mets un terme à cette folie.

1. Tous les rapporteurs qui soumettent des rapports de sécurité sur le hashtag#Hackerone pour le hashtag#curl doivent désormais répondre à cette question : « avez-vous utilisé une IA pour trouver le problème ou générer cette soumission ? »

(Et s'ils le sélectionnent, ils peuvent s'attendre à un flot de questions de suivi prouvant l'existence d'une intelligence réelle.)

2. Nous bannissons INSTANTANÉMENT tous les rapporteurs qui soumettent des rapports que nous considérons comme un déchet généré par l'IA. Un seuil a été atteint. Nous sommes effectivement victimes d'un DDoS. Si nous le pouvions, nous les ferions payer pour cette perte de temps.

Nous n'avons toujours pas vu un seul rapport de sécurité valide réalisé avec l'aide de l'IA.
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.

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. L'hallucination des modèles est 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, l'hallucination est un problème insoluble.

Récemment, quatre rapports de vulnérabilité malavisés, générés par l'IA, ont été publiés, apparemment à la recherche d'une réputation ou d'une prime de détection de bogues. « L'une des façons de s'en rendre compte, c'est que le rapport est toujours très agréable. Formulé de manière agréable, en anglais parfait, poli, avec de jolis points... un humain ordinaire ne le ferait jamais de cette manière dans son premier rapport », a déclaré Daniel Stenberg.

Des signalements de fausses failles de sécurité dans les logiciels

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.

« À bien des égards, ces rapports de mauvaise qualité devraient être traités comme s'ils étaient malveillants. Même si ce n'est pas leur intention, le résultat est que les mainteneurs sont épuisés et plus réticents au travail de sécurité légitime », a écrit Seth Larson dans son billet de blogue l'année dernière.

À 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.

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.

« Je suis très heureux que ce problème attire l'attention afin que nous puissions éventuellement faire quelque chose à ce sujet et éduquer le public sur l'état des choses. Les LLM ne peuvent pas trouver de problèmes de sécurité, du moins pas de la manière dont ils sont utilisés ici », a-t-il déclaré.

Source : Daniel Stenberg

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous de l'utilisation de l'IA pour la détection de problèmes de sécurité ?
Selon vous, les systèmes d'IA actuels sont-ils adaptés à ce cas d'utilisation ? Pourquoi ?
Selon vous, quels impacts ce phénomène pourrait-il avoir sur l'écosystème des logiciels libres et open source ?

Voir aussi

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

Les outils de développement GenAI n'améliorent pas l'efficacité du codage et augmentent le nombre de bogues : avec Microsoft Copilot les développeurs ont constaté une augmentation de 41 % des bogues
Vous avez lu gratuitement 3 862 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 02/06/2026 à 10:17
Citation Envoyé par Uther Voir le message
Un intérêt de Rust est justement qu'il permet d’intégrer le paradigme fonctionnel bien mieux que C et C++ dans des domaines où la plupart des langage fonctionnels sont inenvisageables
Je ne me suis pas senti trop dépaysé en passant à Rust après quelques temps à travailler avec Scala (version 2).
Pour ce qui est du fonctionnel, j'avais justement apprécié les capacités de pattern matching de Rust, se basant essentiellement sur la structure de donnée, et donc favorisant une optimisation du code par le compilateur (sans surcharge d'abstraction à l'exception de certains tests conditionnels ou certaines gestions de l'énumération dans le matching).
A contrario, le pattern matching de Scala passe beaucoup par des unapply, et n'est pas aussi direct. Même les 'case class' de Scala restent des classes JVM, et cela est un peu plus lourd que les structures Rust qui sont directement matchables tout en étant très simples et proches du C.
Alors Scala est plus concis du point de vue de la programmation fonctionnelle, certes, mais je m'y retrouve bien en Rust.
Les deux langages proposent des mécanismes haut niveau, incluant:
- le fonctionnel,
- Des mécanismes de trait différents, mais sur lequel Rust fait reposer sa programmation par héritage (programmation orientée traits, à comportements orthogonaux aux données).
- Des langages fortement typés mais avec un mécanisme important d'inférence de type (Rust étant plus limité que Scala sur ce point mais avec plus de lisibilité; il faut très bien connaitre ses règles de sucre grammatical en Scala...),
- Un fort impact de la généricité par des variables de type et cette généricité est bien maîtrisée (rien à voir avec un template). Le conditionnement des types en Rust est incroyable, et je pense que ça va plus loin que Scala. Par contre, Scala permet des variables de type du second ordre... Même si les GAT (Generic Associated Types) de Rust offrent quelques possibilités.
- Des systèmes de macros agissant sur l'AST,
- Une programmation multithread/asynchrone facile (e.g. Scala: Future basé GC et les mécanismes de multithread de la JVM ; Akka/Pekko ; Flink, Spark, ... ; je ne connais pas ZIO /**/ Rust: noGC ; multithread ou async (concurrence) ; channels ; rayon ; tokio ; ractor ...).
Les deux langages sont élégants de mon point de vue, et la concision de Scala est imbattable. Et on n'oubliera pas le côté DSL-friendly de Scala grâce à ses sucreries grammaticales (à l'excès parfois).
Mais ce qui avait emporté mon choix, c'est que Rust m'a offert des fonctionnalités qui me paraissent proches de Scala tout en étant bas niveau et avec un travail direct en mémoire, grâce à la sémantique de prêt... Honnêtement, ça m'avait impressionné à l'époque.
1  0