Des dépôts GitHub piégés diffusent ChocoPoC, un malware conçu pour viser les chercheurs en cybersécurité qui testent des exploits publiés en ligne.

Les PoC malveillants existent depuis longtemps, mais cette campagne repose sur une nouvelle subtilité. D’après Sekoia et YesWeHack, le malware ChocoPoC ne se cache pas directement dans le code visible du PoC. Il passe par les dépendances Python du projet, installées lorsque la victime prépare puis exécute l’exploit. Une méthode plus sournoise, qui permet aux attaquants de viser des profils habitués à manipuler du code non fiable : chercheurs, chercheuses, pentesters ou chasseurs de vulnérabilités.
Des PoC piégés exploitant la pression autour des failles critiques
La campagne repose sur plusieurs dépôts GitHub piégés, présentés comme des preuves de concept pour des failles récentes ou très surveillées. Le choix n’a rien d’un hasard : lorsqu’une vulnérabilité critique vient d’être publiée, les chercheurs et pentesters cherchent souvent à vérifier rapidement les PoC disponibles pour produire des tests, des règles de détection ou des modules de scan. Sekoia dit en avoir identifié au moins sept, liés à des vulnérabilités touchant notamment FortiWeb, PAN-OS, Ivanti Sentry, Check Point VPN ou Joomla SP Page Builder.
Une fois le dépôt récupéré, la victime installe les dépendances Python indiquées par le projet. C’est là que le piège se referme. Un paquet nommé frint installe à son tour une dépendance malveillante, skytext, qui contient une extension Python compilée. À l’exécution du PoC, cette extension déchiffre du code embarqué, puis va chercher la charge finale, ChocoPoC, dans un dataset Mapbox détourné en point de relais, alors que ce service sert normalement à héberger des données cartographiques.
Le choix est habile : le PoC peut paraître crédible à première vue, tandis que le comportement malveillant est déporté vers les paquets installés autour de lui. D’après Sekoia, skytext a ainsi été téléchargé environ 2 400 fois, principalement depuis des systèmes Linux.
Un aspirateur à données qui s’installe dans la durée
ChocoPoC est un RAT, un cheval de Troie d’accès à distance persistant. Une fois présent sur la machine, il peut exécuter des commandes shell, lancer du code Python, récupérer des fichiers et dossiers, mais aussi collecter des données de navigateur, dont les mots de passe, les cookies, l’historique et les informations de remplissage automatique.
Le malware fouille également les fichiers texte, les documents Markdown, les bases de données, l’historique du terminal, la configuration réseau et la liste des processus en cours. Mapbox serait aussi utilisé pour exfiltrer une partie des données, tandis que les transferts plus volumineux transiteraient par un serveur HTTP séparé.
Sekoia estime que les attaquants ont probablement utilisé des comptes compromis pour publier les paquets et les dépôts piégés. Avant frint et skytext, une campagne similaire, sûrement liée au même acteur, avait déjà utilisé d’autres paquets, comme slogsec et logcrypt.cryptography, avec un code très proche.
On rappellera donc qu’un PoC trouvé sur GitHub ne doit jamais être exécuté sur une machine principale. Les tests doivent passer par des environnements isolés, après vérification des dépendances, des scripts d’installation et des paquets appelés par le projet.