Cinq mille cinq cent soixante et un référentiels. C’est le nombre de projets GitHub qui ont été infectés, selon un nouveau rapport de la Security Week. Le coupable est Megalodon.

Ce n’est pas un poisson. Il s’agit d’une attaque contre la chaîne d’approvisionnement qui a eu lieu le 18 mai. Les chercheurs de SafeDep en ont exposé les détails. Les mauvais acteurs ne se sont pas faufilés discrètement. Ils ont utilisé des comptes jetables. Des identités forgées. Des noms comme « build-bot » ou « pipeline-bot ». Des noms dignes de confiance pour un travail peu fiable.

En seulement six heures, une campagne automatisée a généré 5,71 commits malveillants. Cela fait beaucoup de changements à faire quand personne ne regarde.

Le but ? Voler des secrets.

Secrets CI. Informations d’identification cloud. Clés SSH. Jetons OIDC. Code source. Le malware a injecté des scripts bash codés en base64 directement dans les flux de travail GitHub Actions. Chaque fois qu’un pipeline s’exécutait, il transférait les données utilisateur vers un serveur de commande et de contrôle à l’adresse « 216.126.l225.12.l:8443 ».

StepSecurity l’a appelé comme ça.

“Megalodon est un manuel d’exécution directe de Poison Pipeline (attaque d-PPE). Une classe d’exploit CI/CD dans laquelle une personne disposant d’un accès en écriture injecte du mauvais code directement dans les fichiers de flux de travail. Le système CI exécute ensuite ces commandes comme un bon petit travailleur.

Est-ce que ça devait vraiment arriver aussi vite ? Probablement. Les campagnes automatisées n’attendent pas. Ils exécutent simplement.

SafeDep avertit toutes les personnes impliquées de revenir immédiatement sur leurs dépôts. Auditez chaque fichier de flux de travail. Vérifiez l’historique. Recherchez les faux auteurs de robots. Il est peut-être trop tard pour certains.

GitHub a publié quelque chose le 20 mai sur la compromission de l’appareil d’un employé. Cette histoire a un titre. L’attaque du Megalodon ne le fait pas. Du moins, pas encore depuis GitHub.

Le silence n’est pas toujours une excuse. Parfois, ce n’est que du bruit. Vous souhaiterez peut-être vérifier vos propres dépendances avant de lancer une autre validation.