AI-powered malware hit 2,180 GitHub accounts in “s1ngularity” attack

1 minute de lecture

Mis à jour :

Attaque “s1ngularity” : Des milliers de comptes GitHub compromis par un logiciel malveillant dopé à l’IA

Une importante attaque par détournement de chaîne d’approvisionnement a ciblé le système de build open-source Nx, exposant les informations d’identification de plus de 2 180 comptes GitHub et de 7 200 dépôts. Le logiciel malveillant, intégré dans une version compromise de Nx publiée sur NPM, utilisait des modèles de langage (LLM) pour localiser et voler des jetons GitHub, des clés SSH, des portefeuilles de crypto-monnaies et d’autres secrets sensibles.

Points clés :

  • Cible : Le système de build Nx, un outil populaire pour les écosystèmes JavaScript/TypeScript.
  • Méthode : Exploitation d’un flux de travail GitHub Actions défectueux pour publier une version malveillante de Nx sur NPM.
  • Logiciel malveillant : Un script “telemetry.js” conçu pour voler des identifiants et des secrets, capable de fonctionner sur Linux et macOS.
  • Technique innovante : Utilisation d’IA (Claude, Q, Gemini) avec des “prompts” ajustés pour identifier et extraire des informations sensibles.
  • Conséquences : Fuite de plus de 2 000 secrets uniques dans la première phase, transformation de dépôts privés en publics (6 700 dépôts compromis supplémentaires) dans la seconde, et ciblage spécifique d’une organisation dans la troisième.

Vulnérabilités exploitées :

  • Injection dans le titre d’une pull request combinée à une utilisation non sécurisée de pull_request_target dans les flux de travail GitHub Actions (selon l’analyse de Nx). Cela a permis l’exécution de code arbitraire avec des privilèges élevés.

Recommandations (issues de la réponse de Nx et des observations) :

  • Réduction de la surface d’attaque : Révoquer et faire pivoter les jetons compromis.
  • Authentification renforcée : Mettre en place l’authentification à deux facteurs (2FA) pour tous les comptes de publication.
  • Modèles de publication sécurisés : Adopter le modèle “Trusted Publisher” de NPM pour éliminer la publication basée sur des jetons.
  • Approbation manuelle : Implémenter une approbation manuelle pour les flux de travail déclenchés par des pull requests.
  • Surveillance continue : Les chercheurs soulignent que l’impact de l’incident est toujours en cours, car de nombreux secrets divulgués restent valides.

Source