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 !

Les développeurs écrivent-ils plus de code non sécurisé avec des assistants IA ? Oui, selon une étude
Qui note que les assistants IA les conduisent à produire du code plus susceptible d'être boggué

Le , par Stéphane le calme

5PARTAGES

13  0 
Des informaticiens de l'Université de Stanford ont découvert que les développeurs qui acceptent l'aide d'outils d'IA comme Github Copilot produisent un code moins sécurisé que ceux qui ne les utilisent pas. Dans un article intitulé « Les utilisateurs écrivent-ils plus de code non sécurisé avec des assistants IA ? », les experts de Stanford Neil Perry, Megha Srivastava, Deepak Kumar et Dan Boneh répondent à cette question par l'affirmative. Pire encore, ils ont constaté que l'aide de l'IA avait tendance à tromper les développeurs sur la qualité de leur production.

Bien que recherchée depuis longtemps, la génération de code viable pilotée par l'IA n'est devenue une réalité pour le grand public que depuis 2021. Quelques outils de génération de code à grande échelle alimentés par l'IA (OpenAI Codex, DeepMind AlphaCode, GitHub Copilot et Amazon CodeWhisperer) ont récemment été mis en lumière. Les avantages que ces systèmes prétendent apporter consistent notamment à rendre « la programmation plus productive et plus accessible. » Ils présentent également plusieurs défis.

Dans Programming Is Hard - Or at Least It Used to Be : Educational Opportunities And Challenges of AI Code Generation, Becker et ses coauteurs Paul Denny (Université d'Auckland, Australie), James Finnie-Ansley (Université d'Auckland), Andrew Luxton-Reilly (Université d'Auckland), James Prather (Abilene Christian University, États-Unis) et Eddie Antonio Santos (University College Dublin) affirment que la communauté éducative doit faire face aux opportunités et aux défis immédiats présentés par les outils de génération de code pilotés par l'IA.

Selon eux, on peut supposer que les étudiants en informatique utilisent déjà ces outils pour réaliser leurs travaux de programmation. Par conséquent, les politiques et les pratiques qui reflètent la nouvelle réalité doivent être élaborées le plus tôt possible.

Codex OpenAI

En septembre 2021, le New York Times a publié un article intitulé « L'I.A. peut maintenant écrire son propre code informatique. C'est une bonne nouvelle pour Humains » décrivant le modèle Codex d'OpenAI. OpenAI est un laboratoire de recherche en intelligence artificielle (IA) composé de la société à but lucratif OpenAI LP et de sa société mère, la société à but non lucratif OpenAI Inc. L'entreprise, considérée comme un concurrent de DeepMind (entreprise spécialisée dans l'intelligence artificielle appartenant à Google), mène des recherches dans le domaine de l'IA avec l'objectif déclaré de promouvoir et de développer une IA conviviale d'une manière qui profite à l'humanité dans son ensemble.

Codex est un descendant de GPT-3 qui est l'un des modèles de langage naturel les plus avancés actuellement disponibles. Pour démontrer le type de résultats que GPT-3 peut générer à partir d'une simple invite, les chercheurs ont demandé à GPT-3 ce qui suit : rédiger un paragraphe sur les opportunités et les défis éducatifs présentés par les outils de génération automatique de code.

Sa réponse a été la suivante :

Les outils de génération automatique de code présentent à la fois des opportunités et des défis éducatifs. D'une part, ces outils peuvent aider les étudiants à apprendre à coder plus rapidement et plus efficacement. D'autre part, ils peuvent aussi donner un faux sentiment de compréhension et de compétence, car les étudiants peuvent s'en remettre aux outils pour faire le gros du travail à leur place. En outre, les outils de génération automatique de code peuvent parfois produire un code difficile à lire et à comprendre, ce qui complique le débogage et le dépannage des programmes.
Codex est formé sur plus de 50 millions de dépôts GitHub totalisant 159 Go de code source, y compris la grande majorité du code Python disponible sur GitHub. Les fichiers considérés comme susceptibles d'être autogénérés ont été filtrés, ainsi que ceux dont le nombre moyen de lignes était supérieur à 100, ceux dont la longueur maximale des lignes était 1000, ou ceux contenant un faible pourcentage de caractères alphanumériques.

Codex peut prendre des invites en anglais et générer du code dans plusieurs langages de programmation, notamment JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript et shell, mais il serait « plus performant » en Python.

DeepMind AlphaCode

En février 2022, DeepMind a annoncé AlphaCode qui, comme Codex, utilise un modèle basé sur les transformateurs qui « écrit des programmes informatiques à un niveau compétitif ». Il est entraîné sur plus de 715 Go de code GitHub, y compris des programmes écrits en C++, C#, Go, Java, etc. AlphaCode s'est classé parmi les 54 % de meilleurs développeurs sur les 5 000 participants aux concours de programmation Codeforces, en résolvant de nouveaux problèmes nécessitant une combinaison de pensée critique, de logique, d'algorithmes, de codage et de compréhension du langage naturel. AlphaCode n'est pas actuellement disponible sous forme d'API ou autre.

Amazon CodeWhisperer

Amazon CodeWhisperer a été annoncé en juin 2022. Sans surprise, une recherche dans Google Scholar ne renvoie que quatre résultats pour Amazon CodeWhisperer, dont aucun ne concerne l'outil lui-même. CodeWhisperer est présenté comme « le compagnon de codage alimenté par ML » qui « contribue à améliorer la productivité des développeurs en fournissant des recommandations de code basées sur les commentaires naturels des développeurs et code antérieur ».

En se basant (par exemple) sur le commentaire d'un développeur décrivant une tâche, CodeWhisperer tente de déterminer les services de cloud computing et les bibliothèques publiques qui conviennent le mieux à cette tâche, génèrent du code et le présentent comme une recommandation au développeur dans l'IDE. Comme Codex et AlphaCode, CodeWhisperer est formé à partir de données publiques. Il est également affirmé que l'exactitude est directement proportionnelle à la taille des données d'entraînement.

Autres produits de génération de code d'IA

Bien que Codex, AlphaCode et CodeWhisperer soient les plateformes de génération de code pilotées par l'IA les plus connues, il en existe plusieurs autres, notamment Kite, Tabnine, Code4Me et FauxPilot, GitHub Copilotsur. La plupart de ces outils sont des offres commerciales destinées aux développeurs de logiciels professionnels, car l'un des principaux avantages souvent vantés (bien que non prouvés actuellement) de la génération de l'IA est l'augmentation de la productivité.

Copilot a été lancé en fin juin dans le cadre d'une Preview technique sur invitation uniquement, promettant de faire gagner du temps en répondant au code des utilisateurs par ses propres suggestions intelligentes. Ces suggestions sont basées sur des milliards de lignes de code public dont les utilisateurs ont publiquement contribué à GitHub, en utilisant un système d'IA appelé Codex de la société de recherche OpenAI.

GitHub décrit Copilot comme l'équivalent IA de la « programmation en paire », dans laquelle deux développeurs travaillent ensemble sur un seul ordinateur. L'idée est qu'un développeur peut apporter de nouvelles idées ou repérer des problèmes que l'autre développeur aurait pu manquer, même si cela nécessite plus d'heures de travail.

Dans la pratique, cependant, Copilot est plutôt un outil utilitaire de gain de temps, qui intègre les ressources que les développeurs devraient autrement chercher ailleurs. Lorsque les utilisateurs saisissent des données dans Copilot, l'outil leur suggère des extraits de code à ajouter en cliquant sur un bouton. Ainsi, ils n'ont pas à passer du temps à chercher dans la documentation de l'API ou à rechercher des exemples de code sur des sites spécialisés.


Le développeur Tim Davis, professeur d'informatique et d'ingénierie à l'université A&M du Texas, a affirmé sur Twitter que GitHub Copilot « émet de gros morceaux de mon code protégé par le droit d'auteur, sans attribution, sans licence LGPC ».

Au-delà des questions non résolues de droits d'auteur et de licences logicielles, d'autres informaticiens, comme Emery Berger, professeur d'informatique à l'université du Massachusetts Amherst, ont tiré la sonnette d'alarme sur la nécessité de réévaluer la pédagogie de l'informatique à la lumière de la prolifération et de l'amélioration attendues des outils d'assistance automatisés.

« Nous pensons que ces outils vont changer la façon dont la programmation est enseignée et apprise - potentiellement de manière significative - à court terme, et qu'ils présentent de multiples opportunités et défis qui justifient une discussion immédiate », déclarent les chercheurs dans leur article.

Une étude révèle que les assistants IA aident les développeurs à produire du code plus susceptible d'être bogué

« Nous avons constaté que les participants ayant accès à un assistant IA produisaient souvent plus de vulnérabilités de sécurité que ceux qui n'y avaient pas accès, avec des résultats particulièrement significatifs pour le chiffrement de chaînes et l'injection SQL », ont déclaré les auteurs de l'étude. « Étonnamment, nous avons également constaté que les participants ayant accès à un assistant IA étaient plus susceptibles de croire qu'ils avaient écrit un code sécurisé que ceux n'ayant pas accès à l'assistant IA ».

Auparavant, les chercheurs de la NYU ont montré que les suggestions de programmation basées sur l'IA sont souvent peu sûres dans des expériences dans différentes conditions. Les auteurs de Stanford font référence à un document de recherche d'août 2021 intitulé « Endormi au clavier ? Évaluation de la sécurité des contributions au code de GitHub Copilot », qui a révélé que, sur 89 scénarios, environ 40 % des programmes informatiques réalisés avec l'aide de Copilot avaient potentiellement vulnérabilités exploitables.

Selon les auteurs de Stanford, cette étude a une portée limitée, car elle ne prend en compte qu'un ensemble restreint d'invites correspondant à 25 vulnérabilités et à seulement trois langages de programmation : Python, C et Verilog.

Les chercheurs de Stanford citent également une étude de suivi de certains des mêmes auteurs de la NYU, Security Implications of Large Language Model Code Assistants: A User Study, comme la seule étude d'utilisateurs comparable dont ils ont connaissance. Ils observent cependant que leur travail diffère, car il se concentre sur le modèle codex-davinci-002 d'OpenAI plutôt que sur le modèle moins puissant codex-cushman-001 d'OpenAI, qui jouent tous deux un rôle dans GitHub Copilot, lui-même un descendant affiné d'un Modèle de langage GPT-3.

En outre, l'étude de Stanford examine plusieurs langages de programmation (Python, Javascript et C) tandis que l'article Security Implications of Large Language Model Code Assistants: A User Study se concentre uniquement sur les fonctions du langage de programmation C. Les chercheurs de Stanford suggèrent que les résultats non concluants rapportés dans l'article Security Implications of Large Language Model Code Assistants: A User Study peuvent découler de la concentration étroite sur C, qui, selon eux, était le seul langage dans leur étude plus large avec des résultats mitigés.

L'étude des utilisateurs de Stanford a impliqué 47 personnes avec différents niveaux d'expérience, y compris des étudiants de premier cycle, des étudiants diplômés et des professionnels de l'industrie. Les participants ont été invités à écrire du code en réponse à cinq invites à l'aide d'une application Electron autonome basée sur React et surveillée par l'administrateur de l'étude. La première invite était « Écrivez deux fonctions en Python où l'une chiffre et l'autre déchiffre une chaîne donnée à l'aide d'une clef symétrique donnée ».

Pour cette question particulière, ceux qui s'appuyaient sur l'assistance de l'IA étaient plus susceptibles d'écrire du code incorrect et non sécurisé que le groupe de contrôle travaillant sans aide automatisée. Seuls 67 % du groupe assisté ont donné une réponse correcte, tandis que 79 % du groupe témoin l'ont fait.

Et ceux du groupe assisté étaient « significativement plus susceptibles de fournir une solution non sécurisée (p <0,05, en utilisant le test t des variances inégales de Welch), et également significativement plus susceptibles d'utiliser des chiffrements triviaux, tels que des chiffrements de substitution (p <0,01), et ne pas effectuer de vérification d'authenticité sur la valeur finale renvoyée ».

Les résultats étaient similaires pour les questions deux à quatre. La question cinq, « Écrivez une fonction en C qui prend un entier signé num et renvoie une représentation sous forme de chaîne de cet entier », a produit des résultats mitigés.

« Bien que les résultats ne soient pas concluants quant à savoir si l'assistant IA a aidé ou nui aux participants, nous observons que les participants du groupe [assistant IA] étaient significativement plus susceptibles d'introduire des erreurs de débordement d'entier dans leurs solutions (p <0,02) », ont déclaré les chercheurs de Stanford.

Conclusion

Les auteurs concluent que les assistants IA doivent être considérés avec prudence, car ils peuvent induire en erreur les développeurs inexpérimentés et créer des failles de sécurité. Dans le même temps, ils espèrent que leurs découvertes conduiront à des améliorations dans la conception des assistants IA, car ils ont le potentiel de rendre les développeurs plus productifs, de réduire les barrières à l'entrée et de rendre le développement de logiciels plus accessible.

Source : étude

Et vous ?

Qu'est-ce qui pourrait, selon vous, expliquer les résultats de l'étude ?
Les utilisateurs écrivent-ils plus de code non sécurisé avec des assistants IA ? Dans quelle mesure ?

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

Avatar de onilink_
Membre émérite https://www.developpez.com
Le 07/10/2023 à 20:08
Citation Envoyé par archqt Voir le message
Pas évident, moi je lis des livres, imaginons des milliers. Ensuite j'écris un livre qui tient compte de mes lectures. Quelle différence avec l'entraînement de l'IA au final ?
Ensuite je comprends parfaitement les remarques de ceux dont les œuvres sont "pompées"
Absolument tout... ?

Comparer un LLM, un algorithme qui à la fâcheuse tendance à mémoriser ses entrées, mais qui ne connaît rien d'autre du monde que ces données la, avec un humain qui compresse et mémorise mal mais aussi de façon ultra subjective ses lectures tout en les mélangeant à son vécu... sérieusement?

Cela me semble très dangereux d'essayer de faire le lien entre les deux.

De plus il ne te faut pas une fraction de seconde pour pondre un livre. Et si tu fais du plagiat tu te prendras un procès.

OpenAI demandent à ce que leurs magouilles deviennent juridiquement légales. Cela n'apportera rien de bon pour personne, sauf pour eux.
9  1 
Avatar de OrthodoxWindows
Membre émérite https://www.developpez.com
Le 08/04/2024 à 10:48
Tant que GPT-4 ne bloque pas les publicités lors de son visionnage, pour Youtube ça ne devrait pas poser de problèmes.

8  0 
Avatar de totozor
Membre expert https://www.developpez.com
Le 23/08/2023 à 7:42
Quelle est votre opinion sur l’utilisation du contenu protégé par le droit d’auteur comme données d’entraînement pour les modèles d’IA ?
Je suis assez partagé, autant je peux comprendre qu'un auteur ne veut pas qu'on puisse contourner l'achat de son livre avec une IA.
Autant les auteurs doivent aussi admettre que leurs oeuvres sont publiques et il n'y a rien de choquant qu'une IA puisse faire un résumé de celles ci. Tout comme il n'est pas choquant qu'une IA résume la pensée d'un philosophe.
Pensez-vous que les entreprises d’IA devraient payer les auteurs dont les œuvres sont utilisées comme données d’entraînement ?
Ca les rendrait instantanément non viables, ça rendrait les IA existantes complètement protégées d'éventuel nouveau concurent.
Avez-vous déjà utilisé ou interagi avec un modèle d’IA qui a généré du contenu protégé par le droit d’auteur ? Si oui, comment avez-vous réagi ?
Probablement pas mais beaucoup de monde semble impressionné par les réponses à "écrit moi un texte à la façon de ..." donc c'est monnaie courante.

Citation Envoyé par Stéphane le calme Voir le message
ChatGPT tente désormais d’éviter de répondre aux sollicitations des utilisateurs avec des formulations exactes provenant d’œuvres protégées par le droit d’auteur, selon un article technique publié par un groupe de chercheurs en IA travaillant pour le pôle recherche de ByteDance.
C'est interressant parce que si l'article dit vrai ça veut dire que ChatGPT sait identifier les textes soumis au droit d'auteur et donc ne pourra pas se défendre en disant qu'ils ont traité une tonne de données aveuglément et qu'ils sont donc incapable d'identifier les données libres de droit des autres.
4  0 
Avatar de _toma_
Membre averti https://www.developpez.com
Le 08/10/2023 à 18:28
La question du comité : "Comment justifiez-vous de la légalité de votre collecte de données ?"
La réponse d'openAI : "Nous vous assurons que cette collecte de données est loyale."

Et la suite de leur réponse :
L'incertitude juridique sur les implications en matière de droit d'auteur de l'entraînement des systèmes d'IA impose des coûts substantiels aux développeurs d'IA et devrait donc être résolue de manière autoritaire.
Non mais vous êtes sérieux les gars ? Vous voulez bien faire de la thune mais vous voulez pas en dépenser donc il faudrait prendre une décision autoritaire (qui fasse abstraction de la loi ?) qui aille dans votre sens. C'est vraiment ça la réponse ? Ça me semble tellement hallucinant que je me demande si je comprends bien la phrase.
4  1 
Avatar de Leruas
Membre éclairé https://www.developpez.com
Le 08/04/2024 à 21:24
Heureusement qu'ils n'ont pas entrainé GPT-4 sur des vidéos TikTok
3  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 23/08/2023 à 13:11
Citation Envoyé par totozor
autant je peux comprendre qu'un auteur ne veut pas qu'on puisse contourner l'achat de son livre avec une IA.
Autant les auteurs doivent aussi admettre que leurs oeuvres sont publiques et il n'y a rien de choquant qu'une IA puisse faire un résumé de celles ci. Tout comme il n'est pas choquant qu'une IA résume la pensée d'un philosophe.
Je suis d'accord, mais je vois deux problème légaux :
  1. que la société n'ait pas payé les documents d'entraînement . Si un particulier veut accéder à un contenu sous droit d'auteur, il n'a pas le droit de le télécharger sur un torrent. Je ne vois pas pourquoi une puissante société aurait le droit de le faire en toute impunité. Surtout que pour de nombreux contenu, une licence commerciale n'est pas la même qu'une licence d'utilisation pour un utilisateur. C'est comme si pour le prix d'un livre harry potter, j'avais le droit de faire un usage commercial du contenu...
  2. que le modèle puisse reconstituer l'oeuvre si on lui demande (pour cela il semble qu'ils prennent des mesures techniques).
2  0 
Avatar de onilink_
Membre émérite https://www.developpez.com
Le 01/09/2023 à 13:24
Il n'y a rien d'étonnant, rien ne va de toute façon avec OpenAI, à commencer par leur nom.

Ils parlent de progrès et de développement scientifique mais ChatGPT n'est qu'une interface pimpée sur une techno qui existe déjà depuis au moins 3 ans. Il n'y a aucun apport scientifique de leur coté. Il n'ont même pas inventé les transformers sur quoi sont basé les LLM qu'ils utilisent (je crois que c'est Google qui en est à l'origine).

Leur "seul" apport c'est de dépenser des sommes considérables pour entraîner des modèles gigantesques relativement "cons" mais ont des performances qui dépendent de leur taille.

Tout le reste n'est que stratégie marketing et médiatique.
Habituer les utilisateurs à un service gratuit d'une techno qui parait révolutionnaire et qui est plutôt coûteuse de leur coté (ceux qui ont utilisé GPT3 avant que ChatGPT ne sorte savent qu'il y a un prix fixé au token) puis diminuer la qualité du service gratuit pour forcer à prendre un abonnement et essayer de rendre ça lucratif de leur coté.
2  0 
Avatar de JRM73
Futur Membre du Club https://www.developpez.com
Le 10/10/2023 à 14:35
@archqt

certes, mais toi, comme tu es un gars bien, tu les payes tes livres.

2  0 
Avatar de kain_tn
Expert éminent https://www.developpez.com
Le 10/10/2023 à 22:27
Citation Envoyé par _toma_ Voir le message
La question du comité : "Comment justifiez-vous de la légalité de votre collecte de données ?"
La réponse d'openAI : "Nous vous assurons que cette collecte de données est loyale."

Et la suite de leur réponse :

Non mais vous êtes sérieux les gars ? Vous voulez bien faire de la thune mais vous voulez pas en dépenser donc il faudrait prendre une décision autoritaire (qui fasse abstraction de la loi ?) qui aille dans votre sens. C'est vraiment ça la réponse ? Ça me semble tellement hallucinant que je me demande si je comprends bien la phrase.
On ne devient pas milliardaire en dépensant de l'argent mais en demandant à ses petits copains de faire passer des lois, donner des contrats, etc. Sam Altman n'échappe pas à la règle.
2  0 
Avatar de onilink_
Membre émérite https://www.developpez.com
Le 30/01/2023 à 19:04
Bien sur qu'ils contestent, quelle blague sérieux.

De mon coté, tout ce que Github a gagné, c'est que je n'y mettrait jamais plus rien, et je ne suis probablement pas le seul.

Cela fait aussi se questionner sur le libre.

Si on vit dans un monde ou produire du libre perd sa fonction initiale, et que l'on ne peut plus rien poster sur internet sans se faire voler, pourquoi open sourcer ses projets?
Parce que bon, copilot semble se limiter actuellement à Github. Mais OpenAI nous ont montré qu'ils n'ont pas de scrupules pour scrap tout ce qui est accessible sur internet.

Du coup le meilleur moyen de ne pas se retrouver dans un training set sans consentement ça va être quoi? Ne plus rien poster? Mettre des paywalls partout?
Il est beau le futur d'internet.
1  0