Les bibliothèques et autres dépôts de code en ligne constituent une cible de choix pour les cyberattaquants. Logique donc de voir ces derniers affûter leur arsenal pour tenter de les compromettre et en aspirer leurs contenus pour les vendre au plus offrant. C’est précisément ce que suggère Miasma la dernière évolution du ver Shai-Hulud qui refait régulièrement surface. Comme ces derniers temps dans des attaques supply chain logicielle visant les registres npm, Miasma a d'abord touché plus d'une centaine de projets open source de Red Hat et Microsoft avant de se propager à d'autres victimes. La société de sécurité applicative Socket avait recensé 473 paquets affectés récemment, sachant que 73 repos GitHub à date ont été également compromis. Le problème c’est désormais que le code de Miasma a été poussé en open source (comme l’a été celui de Shai-Hulud par le cybergang TeamPCP) sans doute via des comptes compromis de développeurs. “Le code source de Miasma semble aller bien au-delà d'un simple ver de supply chain. Il s'agit d'une boîte à outils complète d'attaques SCM qui permet à l'opérateur de mener diverses offensives à l'aide d'identifiants volés contre des paquets aléatoires ou ciblés sur des registres publics (PyPI, npm, RubyGems), JFrog Artifactory, des dépôts GitHub et GitHub Actions, ainsi que de corrompre la configuration d'outils de codage basés sur l'IA, d'effectuer des mouvements latéraux via SSH et d'exploiter d'autres vecteurs d'attaque”, prévient la société en sécurité Safedep.
En analysant le code de base de Miasma, les chercheurs de cette entreprise ont trouvé des résultats aussi intéressants qu’inquiétants. A savoir que le kit est en mesure de contourner les règles de sécurité de GitHub pour déclencher des déploiements, infecter des paquets npm avec des chevaux de Troie, ou encore servir à de l’injection de prompts dans 13 outils de codage IA (Claude Code, Cursor, Kiro...), et à voler des identifiants AWS, Azure, GCP, Kubernetes, HashiCorp Vault voire des gestionnaires de mots de passe (1Password et Bitwarden). Le ver Miasma utilise trois canaux de recherche de commits GitHub indépendants pour la communication C2, chacun ayant une chaîne de recherche et un objectif différents. L'un d'entre eux, « DontRevokeOrItGoesBoom », qui identifie des jetons d'accès personnels (PAT) contrôlés par les attaquants afin d'exfiltrer des identifiants et d'autres données sensibles. Le deuxième, « TheBeautifulSandsOfTime », fournit du code JavaScript pour l'exécution immédiate de commandes. Enfin, « firedalazer » qui fournit des URL de scripts Python pour la surveillance persistante.
GitHub utilisé comme une infrastructure C2 à part entière
“On constate souvent que les attaquants délaissent les infrastructures C2 personnalisées, qui nécessitent une maintenance, une mise à jour et une sécurisation. À la place, ils utilisent désormais GitHub comme une infrastructure C2 à part entière pour l'exécution de commandes à distance, la configuration et l'exfiltration de données. Il s'agit là d'un changement de comportement majeur, car les outils traditionnels de détection et de protection basés sur le réseau s'appuient sur l'établissement de profils de référence et la détection des anomalies”, explique Safedep. Les chercheurs ont par ailleurs identifié deux méthodes de propagation : l’une par voie rapide consistant à publier une nouvelle version d'un paquet accessible dans laquelle la charge utile du ver a été injectée. Et une autre plus lente exploitant la relation de confiance entre les interfaces OpenID Connect (OIDC) de GitHub Actions avec différents registres ou protocoles et gestionnaires de session (SSH, AWS SSM...).