GitHub, Copilot, ChatGPT et Claude sont des assistants de codage basés sur l'IA. Ils permettent aux développeurs de produire du code plus rapidement. Cela a révolutionné la productivité des développeurs. Cela dit, cette accélération comporte des risques cachés. La sécurité de la chaîne d'approvisionnement logicielle, les questions de droits d'auteur et l'intégrité du recrutement s'en trouvent toutes affectées.
Le système MOSS de Stanford permet généralement de déterminer si un script a été généré par une IA, mais un développeur expérimenté peut modifier l'ordre des méthodes et ajuster les variables pour passer inaperçu. De plus, ce système n'est disponible que pour un usage non commercial. Pour déterminer avec certitude si un code a été généré par une IA, il faut disposer d'une infrastructure spécialisée. Des plateformes d'entreprise telles que Pangram interviennent désormais pour proposer des solutions dédiées à la détection de code généré par l'IA.
Si vous vous demandez : «Peut-on détecter un code généré par l'IA? », la réponse est « oui ». La détection du code généré par l'IA est fondamentalement différente – et plus difficile – que celle du texte généré par l'IA. Ce guide aborde les points suivants :

Détection des pangrammes par IA pour les développeurs
Le code généré par l'IA est plus difficile à détecter que celui rédigé par un humain, car les langages de programmation offrent moins de « degrés de liberté ». Les choix stylistiques et structurels dont dispose un développeur sont plus limités. Cela est particulièrement vrai si l'on compare avec les nombreux choix stylistiques et structurels dont dispose un auteur.
Les langages comme le C et l'assembleur ont des exigences syntaxiques très strictes. Si un humain tente de résoudre un problème, il peut mettre au point la fonction la plus efficace pour ce problème. Une IA pourrait également développer ce même code, car il s'agit de la fonction la plus efficace. Un humain comme une IA peuvent produire un code mathématiquement identique.
Le code standard ne contient guère d'indices statistiques. Un détecteur d'IA ne sera pas en mesure de déterminer avec certitude si ce type de code a été généré par une IA ou rédigé par un humain. Cela vaut également pour les simples fichiers de configuration.
Les directeurs techniques et les équipes chargées des opérations juridiques ont recours à des détecteurs de code basés sur l'IA pour vérifier l'origine de leur base de code. Ils procèdent ainsi pour s'assurer que leurs développeurs ne publient pas de propriété intellectuelle issue de l'IA qui ne peut être protégée par le droit d'auteur, ni de logique erronée ou vulnérable.
Aux États-Unis, les contenus entièrement générés par l'IA ne peuvent pas être protégés par le droit d'auteur. Si le produit phare d'une start-up a été entièrement généré par Copilot sans intervention humaine, cette start-up pourrait ne pas être en mesure de faire protéger ce produit par le droit d'auteur.
Un détecteur de code généré par IA constitue une première étape essentielle dans les processus de sécurité. Si un fragment de code est signalé comme étant généré à 100 % par une IA, il doit faire l'objet d'un examen de sécurité manuel rigoureux. Cet examen doit avoir lieu avant que le code ne soit intégré.
Les responsables du recrutement utilisent un détecteur de code basé sur l'IA pour les exercices techniques à réaliser à domicile. Ils ont recours à cet outil afin de s'assurer que les candidats comprennent la logique qui sous-tend le code qu'ils soumettent. Les responsables du recrutement ne veulent pas de candidats qui se contentent de copier-coller les résultats générés par ChatGPT. Ils recherchent des candidats qui comprennent la logique derrière ces résultats.
Un développeur qui s'appuie entièrement sur un modèle de langage (LLM) pour réussir un test de programmation risque fort d'échouer lorsqu'on lui demandera de déboguer des systèmes hérités complexes et non documentés. Le code est complexe. Un développeur incapable de gérer ces complexités sans ChatGPT pourrait ne pas être en mesure de remplir ses fonctions.
Plutôt que d'interdire purement et simplement l'IA, les recruteurs utilisent des outils de détection pour formuler leurs questions d'entretien. Voici un exemple : « Je constate que cette fonction s'appuie fortement sur l'assistance de l'IA. Pouvez-vous m'expliquer pourquoi le modèle a choisi cette structure de boucle spécifique ? »
Un logiciel est nécessaire pour garantir la précision de la détection de l'IA sur des volumes importants. Toutefois, pour les volumes plus modestes, les vérificateurs manuels peuvent détecter le code généré par l'IA en recherchant :
Les modèles d'IA, tels que Claude ou ChatGPT, sont entraînés pour se montrer utiles. Cela les conduit à insérer des commentaires exhaustifs et peu naturels pour chaque ligne de code. Les développeurs humains agissent rarement ainsi, ce qui fait de ce type de commentaires un indice révélateur de l'IA.
Dans le milieu universitaire ou lors de processus de recrutement, le code généré par l'IA présente souvent des similitudes entre plusieurs soumissions. MOSS peut mettre en évidence ces similitudes. Cela permet à MOSS de servir d'indicateur secondaire de la génération par l'IA. D'autres outils sont également capables de le faire.
Pour vérifier si un code a été généré par une IA, Pangram utilise l'apprentissage profond. L'apprentissage profond sert à identifier l'empreinte statistique des modèles d'IA.
Pangram affiche un taux de précision de 96,2 %. Son taux de faux positifs est également quasi nul, à 0,3 %. Cela s'explique en grande partie par le recours à l'apprentissage profond.

Précision de Pangram pour les codes de plus de 40 lignes
Contrairement à d'autres détecteurs de code généré par IA, Pangram adopte une approche délibérément prudente. Il est conçu pour ne pas détecter certains éléments de code standard générés par IA : Pangram affiche un taux de faux négatifs de 8,5 % sur les longs extraits de code. Cette approche vise à garantir qu'il n'accuse jamais à tort un développeur humain.
Les équipes d'ingénierie et de recrutement peuvent intégrer Pangram de manière transparente dans leurs processus d'entreprise. Elles peuvent le faire via le SDK Python de détection de code par IA de Pangram. Elles peuvent également utiliser l'API de Pangram. Ces deux options permettent de mettre en place une vérification automatisée du code par IA au sein des processus Git ou ATS existants.
Vérification de l'intégrité du code
Les assistants de codage basés sur l'IA sont des outils puissants qui accélèrent le développement de logiciels en tout genre. Mais on ne peut pas leur faire aveuglément confiance pour créer une infrastructure propriétaire sécurisée.
En intégrant un détecteur de code basé sur l'IA précis à leur processus de travail, les équipes d'ingénierie et de recrutement peuvent :
Vérifiez la provenance et l'authenticité de votre base de code grâce à la plateforme de détection par IA la plus précise du secteur.
