Les chercheurs en sécurité de la société de gestion des cyber-risques Vulcan.io ont publié une preuve de concept de la façon dont les pirates peuvent utiliser ChatGPT 3.5 pour diffuser du code malveillant à partir de référentiels de confiance.
- - Le chatbot ChatGPT peut être utilisé pour diffuser du code malveillant.
- Les chercheurs de Vulcan.io ont publié une preuve de concept sur l'utilisation malveillante de ChatGPT.
- Jusqu'à 35% des recommandations de packages par ChatGPT sont des packages inexistants.
La recherche attire l’attention sur les risques de sécurité inhérents à l’utilisation des suggestions de ChatGPT pour les solutions de codage.
Méthodologie
Les chercheurs ont rassemblé les questions de codage fréquemment posées sur Stack Overflow (un forum de questions et réponses sur le codage).
Ils ont choisi 40 sujets de codage (comme l’analyse syntaxique, les mathématiques, les technologies de grattage, etc.) et ont utilisé les 100 premières questions pour chacun des 40 sujets.
L’étape suivante consistait à filtrer les questions «comment faire» qui incluaient des packages de programmation dans la requête.
Les questions posées étaient dans le contexte de Node.js et Python.
Vulcan.io explique :
« Toutes ces questions ont été filtrées avec le langage de programmation inclus avec la question (node.js, python, go). Après avoir collecté de nombreuses questions fréquemment posées, nous avons réduit la liste aux seules questions «comment faire».
Ensuite, nous avons posé à ChatGPT via son API toutes les questions que nous avions collectées.
Nous avons utilisé l’API pour reproduire ce que serait l’approche d’un attaquant pour obtenir autant de recommandations de packages inexistants que possible dans le plus court laps de temps.
En plus de chaque question, et suite à la réponse de ChatGPT, nous avons ajouté une question de suivi dans laquelle nous lui avons demandé de fournir plus de packages répondant également à la requête.
Nous avons enregistré toutes les conversations dans un fichier, puis analysé leurs réponses. »
Ils ont ensuite scanné les réponses pour trouver des recommandations de packages de code qui n’existaient pas.
Jusqu’à 35 % des packages de code ChatGPT ont été hallucinés
Sur 201 questions Node.js, ChatGPT a recommandé 40 packages qui n’existaient pas. Cela signifie que 20 % des réponses ChatGPT contenaient des packages de code hallucinés.
Pour les questions Python, sur 227 questions, plus d’un tiers des réponses consistaient en des packages de code hallucinés, 80 packages qui n’existaient pas.
En fait, les montants totaux de packages non publiés étaient encore plus élevés.
Les chercheurs ont documenté :
« Dans Node.js, nous avons posé 201 questions et observé que plus de 40 de ces questions ont suscité une réponse incluant au moins un package qui n’a pas été publié.
Au total, nous avons reçu plus de 50 packages npm inédits.
En Python, nous avons posé 227 questions et, pour plus de 80 de ces questions, nous avons reçu au moins un package non publié, ce qui donne un total de plus de 100 packages pip non publiés.
Preuve de concept (PoC)
Ce qui suit est la preuve de concept. Ils ont pris le nom de l’un des packages de code inexistants censés exister sur le référentiel NPM et en ont créé un portant le même nom dans ce référentiel.
Le fichier qu’ils ont téléchargé n’était pas malveillant, mais il a téléphoné à la maison pour indiquer qu’il avait été installé par quelqu’un.
Ils écrivent:
« Le programme enverra au serveur de l’acteur de la menace le nom d’hôte de l’appareil, le package d’où il provient et le chemin absolu du répertoire contenant le fichier de module… »
Ce qui s’est passé ensuite, c’est qu’une « victime » est arrivée, a posé la même question que l’attaquant, ChatGPT a recommandé le paquet contenant le code « malveillant » et comment l’installer.
Et bien sûr, le paquet est installé et activé.
Les chercheurs ont expliqué ce qui s’est passé ensuite :
« La victime installe le package malveillant en suivant la recommandation de ChatGPT.
L’attaquant reçoit des données de la victime en fonction de notre appel de préinstallation au nœud index.js vers le nom d’hôte long. »
Une série d’images de preuve de concept montre les détails de l’installation par l’utilisateur sans méfiance.
Comment se protéger des mauvaises solutions de codage ChatGPT
Les chercheurs recommandent qu’avant de télécharger et d’installer un package, il est recommandé de rechercher des signaux pouvant indiquer que le package peut être malveillant.
Recherchez des éléments tels que la date de création, le nombre de téléchargements effectués, l’absence de commentaires positifs et l’absence de notes jointes à la bibliothèque.
ChatGPT est-il digne de confiance ?
ChatGPT n’a pas été formé pour offrir des réponses correctes. Il a été formé pour offrir des réponses qui semblent correctes.
Cette recherche montre les conséquences de cette formation. Cela signifie qu’il est très important de vérifier que tous les faits et recommandations de ChatGPT sont corrects avant de les utiliser.
Ne vous contentez pas d’accepter que le résultat est bon, vérifiez-le.
Spécifique au codage, il peut être utile de prendre des précautions supplémentaires avant d’installer les packages recommandés par ChatGPT.
Lisez la documentation de recherche originale :
Pouvez-vous faire confiance aux recommandations de packages de ChatGPT ?
Image sélectionnée par Shutterstock/Roman Samborskyi
FAQ
Quelles sont les différentes catégories de sites malveillants ?
Il existe plusieurs catégories de sites malveillants. Tout d'abord, il y a les sites de phishing qui cherchent à voler des informations personnelles telles que les numéros de carte bancaire. Ensuite, il y a les sites d'hameçonnage qui imitent des sites légitimes pour tromper l'internaute et lui soutirer des données sensibles.
Les sites contrefaits sont également dangereux car ils proposent souvent des produits ou services frauduleux. Enfin, on retrouve les sites avec des logiciels malveillants tels que des virus ou des ransomwares qui peuvent causer de graves dommages aux ordinateurs. Il est important d'être vigilant lorsque nous naviguons sur internet pour éviter ces différents types de sites malveillants.
Comment peut-on détecter un logiciel malveillant ?
Il existe plusieurs façons de détecter un logiciel malveillant sur un ordinateur. Tout d'abord, il est important de maintenir à jour son système d'exploitation ainsi que ses programmes. En effet, les mises à jour permettent de combler les failles de sécurité qui peuvent être exploitées par des logiciels malveillants.
Ensuite, un antivirus performant peut également détecter et éliminer les logiciels malveillants présents sur l'ordinateur. Les comportements inhabituels tels qu'un ralentissement ou des pop-up intempestifs peuvent également être des signes d'une infection par un logiciel malveillant et doivent donc être pris en compte pour effectuer une recherche approfondie du système.
Quels sont les sites considérés comme malveillants ?
Il existe de nombreux sites considérés comme malveillants sur Internet. Ces sites peuvent contenir des logiciels malveillants, tel que des virus, ou tenter de voler des informations personnelles des utilisateurs.
Il est important d'être vigilant et de ne pas cliquer sur des liens suspects ou de télécharger des fichiers provenant de ces sites pour éviter tout risque pour votre sécurité en ligne. Certains navigateurs web proposent également une protection contre ces sites dangereux afin d'aider les utilisateurs à naviguer en toute sécurité sur le web.
Quelles sont les deux principales catégories de sites malveillants ?
Il existe deux principales catégories de sites malveillants : les sites d'hameçonnage (ou phishing) et les sites contenant des logiciels malveillants. Les sites d'hameçonnage tentent de récupérer vos informations personnelles en se faisant passer pour des sites légitimes, tandis que les sites contenant des logiciels malveillants peuvent infecter votre ordinateur avec des virus ou des programmes indésirables.
Il est important de faire preuve de prudence lors de la navigation sur internet pour éviter ces types de sites dangereux.
Comment peut-on classifier un logiciel comme étant malveillant ?
Un logiciel peut être classifié comme étant malveillant s'il a pour intention de nuire à l'utilisateur ou à son ordinateur. Ces intentions peuvent se manifester par des actions telles que la collecte de données personnelles sans autorisation, l'installation de programmes indésirables ou encore la propagation de virus.
Un logiciel peut également être considéré comme malveillant s'il n'est pas conforme aux règles légales et morales en vigueur. En général, une analyse approfondie du comportement du logiciel ainsi qu'une vérification de sa provenance permettent de déterminer s'il est malveillant ou non.