Actions GitHub abusées par l’attaque Megalodon pour glisser des commits malveillants dans 5 500 dépôts

Lucas Morel

Les chercheurs affirment que la campagne a abusé de jetons d’accès compromis et déployé des clés pour injecter des flux de travail GitHub Actions malveillants dans des milliers de référentiels publics.

Une campagne de porte dérobée automatisée à grande échelle sur GitHub a été détectée en train de pousser des milliers de commits malveillants dans des référentiels publics tout en se faisant passer pour une maintenance de routine CI/CD.

Les chercheurs de SafeDep ont observé la campagne Megalodon toucher plus de cinq mille référentiels sur une fenêtre de six heures le 18 mai. L’attaque prenait la forme d’un commit malveillant, « acac5a9 », ciblant les flux de travail GitHub Actions.

Des exécutions inattendues de workflow_dispatch dans l’onglet Actions pourraient être un signe d’avertissement, ont déclaré les chercheurs dans un article de blog. « Si vous utilisez la fédération OIDC pour les déploiements cloud, examinez les journaux d’audit cloud pour les demandes de jetons provenant d’exécutions de flux de travail inconnues. »

Les commits malveillants ont été observés modifiant les flux de travail Github Actions pour inclure des charges utiles bash codées en base64 conçues pour voler les secrets exposés lors de l’exécution de CI, notamment les informations d’identification cloud, les clés SSH, les jetons OpenID Connect (OIDC), les secrets du code source et d’autres variables d’environnement.

Parmi les projets les plus durement touchés figurent le référentiel ioLibrary_Driver de Wiznet, quatre référentiels Tiledesk et quatre référentiels persian-tools, avec plus de 2 000 commits malveillants à eux deux.

Un article de blog ultérieur d’OX Security a signalé certaines similitudes avec les compromissions largement répandues de TeamPCP, en particulier l’utilisation de dates de validation historiques codées en dur. Il s’agissait d’une astuce utilisée dans les opérations liées à TeamPCP pour masquer le véritable moment de l’activité malveillante.

« Les versions 2.18.6 (19 mai) à 2.18.12 (21 mai) comportent toutes la porte dérobée », avaient conclu les chercheurs après une enquête préliminaire.

Une comparaison plus approfondie des versions coupables de Tiledesk avec leurs prédécesseurs légitimes a conduit les chercheurs à une validation malveillante. « Le commit malveillant a atterri le 18 mai 2026, rédigé par build-bot avec le message ‘ci : ajouter une étape d’optimisation de build' », ont-ils déclaré. « Le nom de l’auteur et l’e-mail générique de réponse imitent les validations CI automatisées. »

La validation a été poussée sans pull request (PR) ni validation de fusion, ce qui, selon les chercheurs, a été effectué à l’aide d’un jeton d’accès personnel (PAT) ou d’une clé de déploiement compromise. Ils ont averti que le commit malveillant restait actif sur la « branche principale » au moment de la publication de la divulgation.

Outre « build-bot », la campagne s’est également appuyée sur d’autres identités d’auteur forgées telles que « auto-ci » et « ci-bot ».

SafeDep a partagé une liste d’indicateurs de compromission (IOC), notamment le domaine C2, la signature de la campagne, les noms et adresses e-mail des auteurs, les messages de validation et les noms des référentiels GitHub compromis pour faciliter la détection et le nettoyage.

Sécurité des codesSécuritéGitHubSystèmes de contrôle de versionsDéveloppement de logicielsLogiciel malveillantCybercriminalité