L’outil Github Copilot a été publié début juillet sous la forme d’une préversion technique limitée et devait servir d’outil de suggestion, un peu comme la fonction de complétion automatique dans les applications de messagerie électronique comme Gmail. Il fonctionne aussi pour le code écrit en Python, JavaScript, TypeScript, Ruby, Go et d'autres langages de programmation. L’objectif de cet assistant est avant tout de permettre aux développeurs d'être plus productifs, en réduisant les tâches répétitives et en les aidant à se concentrer sur d’autres tâches plus complexes. L’équipe de GitHub explique également que cet assistant « a le potentiel de réduire les barrières à l'entrée, permettant à plus de personnes d'explorer le développement de logiciels et de rejoindre la prochaine génération de développeurs ».
Le projet, toujours en cours d’amélioration, est sujet à plusieurs controverses. Fin août déjà, des chercheurs ont évalué le risque de reproduction des bugs contenus dans les projets GitHub sur lesquels il a été entraîné en explorant différents scénarios. Ils ont produit quelques centaines de programmes dont 40% présentent des vulnérabilités. Par ailleurs, l’outil doit faire certains ajustements du côté du code suggéré. Ainsi, afin de prévenir tout résultat biaisé, discriminatoire, abusif ou offensant, « des filtres ont été mis en place afin de bloquer les mots offensants et éviter de synthétiser des suggestions dans des contextes sensibles » a déclaré GitHub sur son site. Toutefois, celui-ci ne précise pas comment sont gérées les entrées et sorties problématiques, si ce n’est en proposant aux utilisateurs de signaler par mail lorsqu’ils ont été offensés.
Une barrière contre les sorties offensives
Les filtres ont permis de dresser une liste qui recense 1 170 mots interdits, dont 1 168 ont été décodés par Brendan Dolan-Gavitt, professeur adjoint au département des sciences informatiques et de l'ingénierie de la NYU Tandon School of Engineering, et publiés sur son site Web avec le codage ROT13 - qui consiste à décaler les lettres de 13 places dans l'alphabet - afin de tenir les discours haineux à l'écart des moteurs de recherche et des personnes qui tombent sur la page sans vraiment vouloir voir au-delà du cryptage.
La plupart des insultes ne seront évidemment pas mentionnées ici mais voici une courte liste, citons donc : palestine, gaza, communiste, fasciste, socialiste, nazi, immigrant, immigration, race, homme, homme, femme, femme, fille, garçon, fille, libéral (mais pas conservateur), blm, noir (mais pas blanc), antifa, Hitler, ethnique, gay, lesbienne et transgenre. Certains mots ne sont pas offensants mais pourraient l’être dans un contexte spécifique. Un porte-parole de GitHub a indiqué que l’entreprise « prend ce défi très au sérieux et [s’engage] à le relever avec GitHub Copilot ». GitHub a par ailleurs précisé qu’il travaillait « à exclure le code non sécurisé ou de mauvaise qualité de l'ensemble d'entraînement. Bien sûr, vous devez toujours utiliser GitHub Copilot avec des pratiques de test et des outils de sécurité, ainsi que votre propre jugement ».
Commentaire