On pourrait penser que l’intelligence artificielle (IA) est une aubaine pour les développeurs.
Une récente enquête de Google a révélé que 75 % des programmeurs s’appuient sur l’IA.
En revanche, près de 40 % d’entre eux déclarent avoir « peu ou pas confiance » dans l’IA. Les responsables de projets de logiciels libres, c’est-à-dire les personnes qui gèrent les logiciels, peuvent comprendre ce fait.
De nombreux LLM ne peuvent pas produire de code utilisable
Tout d’abord, de nombreux grands modèles de langage (LLM) ne peuvent pas fournir de code utilisable, même pour des projets simples. Mais ce qui est bien plus inquiétant, c’est que les responsables de projets open-source constatent que les pirates informatiques utilisent l’IA pour saper les fondations des projets open-source.
Comme l’a observé Greg Kroah-Hartman, responsable du noyau stable de Linux, au début de l’année 2024, les Common Vulnerabilities and Exposures (CVE), la liste principale des failles de sécurité, sont « utilisées de manière abusive par les développeurs en sécurité qui cherchent à étoffer leur CV« . Ils soumettent de nombreuses « choses stupides ». Grâce aux outils d’analyse de l’IA, de nombreux CVE sont accordés pour des bogues qui n’existent pas. Ces failles de sécurité sont évaluées en fonction de leur niveau de dangerosité à l’aide du Common Vulnerability Scoring System (CVSS).
Pire encore, comme l’a fait remarquer Dan Lorenic, PDG de la société de sécurité Chainguard, la National Vulnerability Database (NVD), qui supervise les CVE, a été sous-financée et débordée, de sorte que nous pouvons « nous attendre à un arriéré massif d’entrées et de faux négatifs ».
Perdre un temps précieux sur de fausses questions de sécurité
Avec les réductions d’effectifs prévues au sein de l’organisation mère de la NVD, ce flot de faux rapports de sécurité générés par l’IA et figurant sur les listes CVE ne fera qu’augmenter. Cela signifie que les programmeurs, les mainteneurs et les utilisateurs devront tous perdre un temps précieux sur de faux problèmes de sécurité.
Certains projets open-source, tels que Curl, ont complètement abandonné les CVE. Comme l’a déclaré Daniel Steinberg, chef de Curl, « CVSS est mort pour nous« .
Il est loin d’être le seul à constater ce problème.
Seth Larson, développeur en résidence pour la sécurité à la Python Software Foundation, a écrit : « Récemment, j’ai remarqué une augmentation des rapports de sécurité de qualité extrêmement médiocre, spammés et hallucinés par les LLM sur les projets open-source. Le problème est qu’à l’ère des LLM, ces rapports semblent à première vue potentiellement légitimes et nécessitent donc du temps pour être réfutés ». Larson estime que ces rapports de sécurité « devraient être traités comme s’ils étaient malveillants« .
Correctifs introduisant de nouvelles vulnérabilités ou portes dérobées
Pourquoi ? Parce que ces correctifs, bien qu’ils semblent légitimes à première vue, contiennent souvent du code qui est entièrement erroné et non fonctionnel. Dans le pire des cas, ces correctifs introduisent de nouvelles vulnérabilités ou des portes dérobées, comme le prédit l’Open Source Security Foundation (OpenSSF).
Outre les faux correctifs et rapports de sécurité, l’IA est utilisée pour générer un déluge de demandes de fonctionnalités dans divers dépôts de logiciels libres. Ces demandes, qui semblent parfois innovantes ou utiles, sont souvent irréalisables, inutiles ou tout simplement impossibles à mettre en œuvre. Le volume même de ces demandes générées par l’IA submerge les responsables, ce qui rend difficile la distinction entre les besoins réels des utilisateurs et le bruit artificiel.
Jeff Potliuk, mainteneur d’Apache Airflow, une plateforme open-source de gestion des flux de travail, a rapporté que la société Outlier AI avait encouragé ses membres à poster des problèmes sur le projet « qui n’ont aucun sens et qui sont soit des copies d’autres problèmes, soit complètement inutiles et n’ont aucun sens. Cela fait perdre un temps précieux aux responsables qui doivent évaluer et clôturer les problèmes. Mon enquête a révélé que vous étiez la source de ces problèmes – où vos vidéos d’instruction incitent les gens à créer ces problèmes pour – apparemment – entraîner votre IA ».
Ces problèmes liés à l’IA ont également été signalés dans Curl et React. Pour citer Potliuk : « C’est une erreur à bien des égards. S’il vous plaît, ARRÊTEZ. Vous ne rendez pas service à la communauté ».
Fausses contributions
Les mécanismes qui sous-tendent ces fausses contributions sont de plus en plus sophistiqués. Les modèles d’IA peuvent désormais produire des extraits de code qui, bien que non fonctionnels, semblent corrects d’un point de vue syntaxique et pertinents d’un point de vue contextuel.
En outre, l’IA génère des explications détaillées qui imitent le langage et le style d’un véritable contributeur. Pour ne rien arranger, selon l’OpenSSF, certains attaquants utilisent l’IA pour créer de fausses identités en ligne, avec des historiques GitHub contenant des milliers de contributions mineures mais apparemment légitimes.
Les conséquences de cette campagne de spam de code open-source pilotée par l’IA sont considérables. Outre le fait que les responsables perdent du temps à passer au crible et à démystifier les fausses contributions, cet afflux de spam généré par l’IA sape la confiance qui constitue le fondement de la collaboration dans le domaine des logiciels libres.
Des lignes directrices et des processus de vérification plus stricts
La communauté des logiciels libres ne reste pas inactive face à cette menace. Les projets mettent en œuvre des directives de contribution et des processus de vérification plus stricts afin d’éliminer le contenu généré par l’IA. En outre, les responsables partagent leurs expériences et leurs meilleures pratiques pour identifier et traiter le spam de code généré par l’IA.
Alors que la lutte contre la tromperie générée par l’IA dans les projets open-source se poursuit, la communauté est confrontée à un défi majeur : préserver l’esprit de collaboration du développement open-source tout en se défendant contre des tentatives de manipulation de plus en plus sophistiquées et automatisées.
Comme l’a écrit Navendu Pottekkat, programmeur de logiciels libres : « S’il vous plaît, ne transformez pas ceci en une fête de « spam des projets de logiciels libres »« . S’il vous plaît, s’il vous plaît, ne le faites pas. Si vous appréciez l’open source, ne jouez pas avec l’IA.