Une campagne d'attaque à grande échelle connue sous le nom de "wfx-loot" a commencé à cibler la plateforme GitHub. Les attaquants ont visé plus de 60 000 dépôts de logiciels pour tester des accès volés et injecter des logiciels malveillants visant à dérober des identifiants sensibles. Selon des rapports d'entreprises de sécurité telles qu'Aikido Security et StepSecurity, environ 4 800 comptes compromis ont été identifiés, utilisés pour soumettre des demandes de tirage (Pull Requests) suspectes afin de tester les autorisations disponibles.
Les rapports ont précisé que le logiciel malveillant a réussi à fonctionner dans plus de 1 800 dépôts de logiciels là où les paramètres et les autorisations le permettaient, tandis que la société SafeDep a enregistré l'accès de modifications malveillantes à environ 8 093 dépôts publics, ce qui ne signifie pas nécessairement que le logiciel a été exécuté avec succès dans tous ces cas.
Mécanisme de l'attaque : exploiter la confiance plutôt que les vulnérabilités
L'un des points fondamentaux de cette attaque est que les attaquants n'exploitent pas une vulnérabilité logicielle dans GitHub Actions, mais s'appuient plutôt sur l'utilisation de "jetons d'accès" (Tokens) valides appartenant à des développeurs ou à des comptes automatisés (Bots) préalablement piratés. Le logiciel malveillant a été injecté dans plusieurs endroits, notamment :
- Les flux de travail GitHub Actions (Workflows).
- Les scripts Shell exécutés par les systèmes d'intégration continue (CI).
- Les hooks d'installation de paquets npm, ce qui constitue un risque pour les développeurs qui installent des dépendances pendant que les modifications malveillantes sont présentes.
Qu'est-ce que cette attaque change réellement ?
La dangerosité de la campagne "wfx-loot" réside dans le changement de stratégie des attaquants, passant de la recherche de vulnérabilités techniques (Exploits) à l'exploitation de la "confiance accordée" aux comptes compromis. Au lieu d'essayer de briser le système, l'attaquant utilise des clés légitimes pour mener des activités illégitimes, ce qui rend la détection beaucoup plus difficile. Le logiciel malveillant cible le vol de jetons GitHub, de secrets de dépôts et d'identifiants cloud tels que AWS et Azure, en plus des clés de services d'intelligence artificielle (AI service keys), ce qui pourrait conduire à une compromission totale de l'infrastructure cloud des entreprises et à l'élargissement de la portée de l'accès.
Pour dissimuler leurs traces, les attaquants suivent une méthode consistant à annuler les modifications logicielles et à supprimer les journaux d'exécution des flux de travail (Workflow runs) une fois la tâche terminée. L'utilisation de jetons émis par l'application Fly.io a également été observée dans certaines requêtes, bien qu'il n'y ait aucune preuve jusqu'à présent d'une compromission de l'infrastructure de Fly.io elle-même.
Recommandations de sécurité pour les développeurs et les entreprises
Compte tenu de la gravité de la situation, les entreprises de sécurité conseillent aux organisations qui pourraient avoir été exposées à l'exécution du logiciel malveillant de prendre des mesures immédiates, notamment :
- Révoquer tous les jetons d'accès (Tokens) suspectés d'avoir été compromis.
- Renouveler (Rotate) tous les secrets et identifiants qui pourraient avoir été exposés.
- Examiner minutieusement les journaux de calcul cloud à la recherche de tout changement ou activité non autorisée.