Python logo over blurred Python code background, with the word
Agence web » Actualités du digital » L'index de package Python répond à l'attaque de logiciels malveillants en invalidant les jetons

L'index de package Python répond à l'attaque de logiciels malveillants en invalidant les jetons

L'indice de package Python (PYPI), géré par la Python Software Foundation, a officiellement invalidé tous les jetons de publication qui ont été volés dans l'attaque de la chaîne d'approvisionnement Ghostaction qui s'est produite plus tôt en septembre. Cela signifie que les attaquants ne peuvent pas utiliser ces jetons volés pour publier des logiciels malveillants.

L'attaque a ciblé une grande variété de référentiels où les jetons PYPI ont été stockés sous forme de secrets GitHub. Les acteurs malveillants injectaient le code dans les workflows de GitHub Actions pour exfiltrer ces jetons vers des serveurs externes. Bien que les attaquants aient réussi à voler les jetons, il est bon de savoir qu'ils ne les ont pas utilisés pour publier des forfaits malveillants sur PYPI, donc toutes les personnes impliquées devraient être en sécurité.

Le tout a été révélé lorsqu'un employé de Gitguardian a utilisé le bouton « Rapport PYPI comme malware » pour signaler un projet appelé « FastUuid ». L'employé a trouvé un flux de travail de GitHub Actions malveillant qui essayait de voler des jetons PYPI. PYPI a immédiatement invalidé les jetons et contacté les propriétaires du projet. Un autre chercheur de Gitguardian a envoyé un e-mail avec des résultats supplémentaires, mais il s'est retrouvé dans le dossier Spam, qui a malheureusement retardé la réponse jusqu'au 10 septembre.

Une fois que l'équipe du PYPI a pris conscience de l'étendue complète de l'attaque, le groupe a immédiatement commencé à examiner les résultats des chercheurs. Pendant ce temps, Gitguardian était occupé à ouvrir des problèmes de Github sur plus de 570 référentiels affectés pour informer les propriétaires. De nombreux responsables du projet ont répondu rapidement, ce qui rendait les modifications à leurs flux de travail, soit simplement supprimer entièrement les flux de travail affectés. Beaucoup d'entre eux ont également fait pivoter de manière proactive leurs jetons PYPI, ce qui est une décision intelligente.

Après avoir confirmé qu'aucun compte PYPI n'avait été compromis, PYPI a contacté tous les mainteneurs affectés le 15 septembre pour leur faire savoir que leurs jetons ont été invalidés. L'équipe Python Software Foundation exhorte les responsables à passer des jetons à longue durée de vie à une méthode beaucoup plus sûre appelée «éditeurs de confiance».

La façon dont les éditeurs de confiance fonctionnent est qu'il utilise des jetons de courte durée qui sont spécifiques à un certain référentiel et expirent après une courte période. Cela réduit considérablement le risque d'une attaque similaire qui se reproduit, et c'est quelque chose que vous devriez sérieusement examiner si vous utilisez ce type de workflow.

Bien que les jetons de confiance des éditeurs puissent toujours être exfiltrés, leur courte durée de vie les rend beaucoup moins précieux pour les attaquants. PYPI vous recommande également de vous connecter à votre compte et de vérifier votre section d'historique de sécurité pour toute activité suspecte. C'est une étape simple qui pourrait vous éviter beaucoup de problèmes.

Cette campagne GhostAction n'était pas un petit problème. Gitguardian a estimé que plus de 3 300 secrets étaient volés dans l'attaque, et ce n'est pas seulement des jetons PYPI. L'équipe a également trouvé des jetons volés pour des choses comme NPM, DockerHub et CloudFlare, ainsi que les clés d'accès AWS et les informations d'identification de la base de données. Il semble que plusieurs sociétés aient fait compromettre leur portefeuille SDK sur plusieurs langues, notamment Python, Rust, JavaScript et GO.

Ce qui est effrayant, c'est que si Gitguardian n'avait rien remarqué, cela aurait pu aller plus loin. Cependant, si vous utilisez des éditeurs de confiance et vérifiez votre historique de sécurité de temps en temps, vous trouverez probablement ou éviterez ce type de problèmes.

★★★★★