Les attaquants ont abusé des flux de travail des actions de GitHub pour siphonner des milliers de références provenant de centaines de référentiels NPM et PYPI.
Gitguardian a divulgué une nouvelle campagne d’attaque de la chaîne d’approvisionnement logicielle, surnommée Ghostaction, qui a exfiltré des milliers de références sensibles avant d’être détectée et contenue le 5 septembre.
Les attaquants ont manipulé les flux de travail des actions GitHub, les processus automatisés définis dans un référentiel GitHub en réponse à des événements spécifiques, pour voler 3325 secrets de 327 utilisateurs dans 817 référentiels.
« Gitguardian Security Research a été alerté en interne le compromis potentiel d’un référentiel Github associé au projet Fastuuid », a déclaré Gaetan Ferry et Guillaume Valadon, chercheurs de la sécurité Gitguardian. « Des enquêtes ont révélé qu’un fichier de flux de travail GitHub malveillant avait été injecté dans le projet. » L’utilisateur compromis a poussé des commits malveillants identiques à d’autres référentiels publics et privés.
Les informations d’identification volées couvrent PYPI, NPM, Dockerhub, GitHub Tokens, et plus – livrées via des publications HTTP à un point de terminaison contrôlé par l’acteur.
Intercepter les jetons CI / CD
La campagne Ghostaction a fait surface dans le projet Python Fastuuid, où un contributeur sous le pseudonyme ‘Grommash9’ ‘a introduit une modification du workflow le 2 septembre. Le changement contenait le code qui a extrait les jetons sensibles, tels que le PYPI_API_TOKIN – et les a transmis via HTTP Post demandes à un domaine de contrôle d’attaquant.
« Bien que ce jeton aurait dû permettre à l’acteur de compromettre le package Fastuuid sur PYPI, nous n’avons trouvé aucune preuve de rejets de package malveillant pendant la fenêtre de compromis », ont déclaré les chercheurs, ajoutant que l’inaction de l’attaquant après le compromis initial a suggéré que FastUuid n’était pas la cible principale.
Les enquêteurs ont ensuite trouvé des flux de travail malveillants similaires dans au moins cinq référentiels publics et environ dix privés. L’attaque était très adaptative, ciblant les secrets spécifiques à l’environnement allant des informations d’identification du registre des conteneurs aux clés du fournisseur de cloud.
« Le modèle d’attaque est resté cohérent dans tous les projets. L’attaquant a d’abord énuméré les secrets de fichiers de flux de travail légitimes, puis a codé en dur ces noms secrets en flux de travail malveillants », a ajouté des chercheurs dans le blog. Ghostaction a exfiltré des milliers de jetons sensibles qui auraient pu être utilisés pour la falsification des emballages, l’accès aux infrastructures non autorisé ou pour d’autres compromis de la chaîne d’approvisionnement.
Menace contenue dans les jours
L’équipe de sécurité de Gitguardian a répondu rapidement après la détection, et le package Fastuuid a été réglé en lecture seule par les administrateurs PYPI en quelques minutes. Le commit malveillant a été retourné peu de temps après. Gitguardian a informé les responsables des référentiels affectés, contactant avec succès 573 projets, tout en alertant les équipes de sécurité GitHub, NPM et PYPI pour surveiller les abus.
Bien qu’aucun forfait malveillant n’ait encore été publié dans les registres officiels, Gitguardian a rapporté que certains packages étaient potentiellement encore en danger. « D’après nos enquêtes initiales, jusqu’à présent, 9 NPM et 15 forfaits PYPI sont en danger de compromis dans les heures ou les jours suivants », ont déclaré les chercheurs.
Le blog a partagé une liste d’indicateurs de compromis, y compris les indicateurs de workflow Network et GitHub. Pour une protection supplémentaire, les chercheurs ont souligné l’importance de revoir les flux de travail du référentiel, de rotation des informations d’identification exposées et d’adoption de contrôles plus stricts pour les actions GitHub pour empêcher des incidents similaires à l’avenir.
Les écosystèmes de package comme le NPM et le PYPI restent des cibles fréquentes en raison de leur popularité et de leur large portée au sein de la communauté des développeurs. Au-delà de la publication des forfaits malveillants directement, comme la récente campagne de reconnaissance du NPM, les attaquants ont également utilisé des techniques telles que les packages de look créatifs de type typosquat – ou même exploiter les dépendances hallucinées par IA pour inciter les développeurs à l’installation de code compromis.



