En 2024, près de 16 % des dépôts populaires étaient impliqués dans ces campagnes. L'outil StarScout a détecté plus de 4,5 millions de fausses étoiles sur 15 835 dépôts entre 2019 et 2024. Ces fausses étoiles nuisent à l'écosystème de GitHub en détournant l'attention des projets authentiques et en exposant les utilisateurs à des risques de sécurité. Il est recommandé de vérifier l’activité d’un dépôt au-delà de son nombre d’étoiles et de recourir à des mesures de réputation pour évaluer la sécurité des logiciels. GitHub doit renforcer la modération et mettre en place des systèmes pour détecter et éliminer ces campagnes trompeuses.
GitHub, la plateforme incontournable pour le développement de logiciels libres, offre des fonctionnalités similaires à celles des médias sociaux pour évaluer la qualité des dépôts. Parmi ces outils, le nombre d'étoiles est le critère de popularité le plus couramment utilisé. Cependant, ce signal peut être artificiellement manipulé, ce qui en réduit la fiabilité pour la prise de décision et représente un risque de sécurité pour tous les utilisateurs de GitHub. Les chercheurs ont développé StarScout, un outil évolutif capable de détecter les comportements anormaux liés aux étoiles (tels que l'activité minimale et les comportements synchronisés) en analysant les métadonnées de GitHub. L'analyse des données collectées via StarScout révèle que :
- les activités associées aux fausses étoiles ont considérablement augmenté depuis 2024 ;
- les profils des utilisateurs impliqués dans ces pratiques ne diffèrent pas beaucoup de ceux des utilisateurs moyens de GitHub, mais leurs modèles d'activité sont souvent très anormaux ;
- la majorité des fausses étoiles sont utilisées pour promouvoir des dépôts de logiciels malveillants de courte durée, se faisant passer pour des outils de piratage, des tricheurs de jeux ou des bots de crypto-monnaie ;
- bien que certains dépôts obtiennent des fausses étoiles pour accélérer leur croissance, cet effet de promotion est temporaire (moins de deux mois) et devient nuisible à long terme.
Cette étude a des implications importantes pour les modérateurs de plateformes, les praticiens du logiciel libre et les chercheurs en sécurité de la chaîne d'approvisionnement. « Plus un indicateur social quantitatif est utilisé pour la prise de décision sociale, plus il sera soumis aux pressions de la corruption et plus il sera apte à déformer et à corrompre les processus sociaux qu'il est censé surveiller », Donald T. Campbell.
Le nombre d'étoiles sur GitHub est l'indicateur le plus couramment utilisé pour évaluer, sélectionner et adopter des projets open source dans les chaînes d'approvisionnement en logiciels. Toutefois, il ne représente qu'un signal de popularité, qui est souvent mal corrélé à l'utilisation réelle ou à l'importance du projet. De plus, ces étoiles peuvent être artificiellement gonflées, comme d'autres signaux de popularité sur les réseaux sociaux. Par exemple, une recherche en ligne pour « acheter des étoiles GitHub » révèle de nombreux fournisseurs qui proposent ces étoiles à des prix variant de 0,10 à 2,00 dollars chacune, avec des délais de livraison rapides.
Les dépôts peuvent acheter ces étoiles à des fins telles que la croissance artificielle, le spamming, la fraude au CV ou la propagation de logiciels malveillants. Ces fausses étoiles altèrent la valeur du nombre d'étoiles en tant que signal fiable pour les parties prenantes, et peuvent également représenter une menace pour la sécurité de tous les utilisateurs de GitHub.
Cependant, la majorité des études antérieures sur les fausses étoiles proviennent de sources non académiques et se limitent à l'analyse de quelques dépôts, sans fournir une mesure systématique et longitudinale de cette menace, notamment en ce qui concerne la sécurité des chaînes d'approvisionnement en logiciels. Face à l'augmentation des attaques contre ces chaînes d'approvisionnement, il est crucial de mieux comprendre les fausses étoiles et les activités frauduleuses qui les entourent pour concevoir des contre-mesures efficaces.
Les défis liés à la mesure globale des fausses étoiles sont multiples : elles peuvent être falsifiées de diverses manières (par des robots, des utilisateurs crowdsourcés, des plateformes d'échange d'étoiles) et les acteurs malveillants adaptent constamment leurs comportements pour échapper à la détection. De plus, la quantité de données de GitHub et les limitations des API compliquent l'analyse à grande échelle, tandis que la suppression des dépôts et utilisateurs par GitHub rend difficile la mesure des activités frauduleuses après coup.
Pour surmonter ces obstacles, les chercheurs ont développé StarScout, un outil évolutif qui analyse l'ensemble de GHArchive, une base de données répliquée de Google BigQuery contenant tous les événements GitHub. StarScout détecte les fausses étoiles en identifiant deux comportements anormaux : la faible activité et le verrouillage synchronisé des étoiles.
Un exemple de dépôt de logiciels malveillants détecté par StarScout, signalé à GitHub et supprimé depuis. Il comptait 111 étoiles, dont on soupçonne au moins 109 d'être fausses. Le fichier README (en haut à gauche) suggère une application blockchain, mais s'il est exécuté, son code (en bas) vole des cryptomonnaies à l'aide d'un appel spawn() caché à un script d'exécution de fichier à distance fortement obfusqué (avec le nom d'un paquetage JavaScript apparemment légitime). Un fil de discussion (en haut à droite), vraisemblablement créé par une victime, met en garde contre un logiciel malveillant caché à l'intérieur.
Une liste non exhaustive de vendeurs des étoiles sur GitHub
En appliquant StarScout à toutes les données d'événements GitHub de juillet 2019 à octobre 2024, identifiant plus d'un million de fausses étoiles et 15 835 dépôts avec des campagnes de fausses étoiles. À l'aide de cet ensemble de données, nous menons une étude de mesure qui répond aux questions de recherche suivantes :
Quelle est la prévalence des fausses étoiles sur GitHub ?
Résultats : Dans l'ensemble, les fausses étoiles ont une prévalence et un impact limités sur GitHub avant 2024. Cependant, l'année 2024 voit une augmentation de deux ordres de grandeur des campagnes de fausses étoiles. Dans le pic de juillet 2024, StarScout détecte des campagnes de fakestar pour 15,84 % des dépôts avec ≥50 étoiles au cours de ce mois. Seuls 64 dépôts ont publié des paquets dans npm/PyPI, avec des preuves limitées d'adoption.
Notons que techniquement parlant, les résultats de détection de StarScout sont seulement les fausses étoiles présumées et les campagnes de fausses étoiles présumées, parmi lesquelles il peut toujours y avoir des faux positifs il peut encore y avoir des faux positifs. Toutefois, pour faciliter la lecture du présent document, ils seront simplement appelés « fausses étoiles » et « campagnes de fausses étoiles » dans la suite.
Quelles sont les caractéristiques des dépôts GitHub avec de fausses campagnes d'étoiles ?
Résultats : Les preuves dont nous disposons suggèrent que la majorité des dépôts avec des campagnes de fausses étoiles sont des dépôts de logiciels malveillants d'hameçonnage de courte durée qui se déguisent en logiciels de piratage, en tricheurs de jeux ou en robots de crypto-monnaie. Les autres ne semblent pas malveillants, mais il est difficile de dire s'il s'agit d'escroqueries ou de projets logiciels légitimes.
Quelles sont les caractéristiques des comptes GitHub qui ont participé à des campagnes de création de fausses étoiles ?
Résultats : Les comptes ayant participé à des campagnes de fausses stars sont légèrement plus susceptibles d'avoir des avatars par défaut et des informations de profil vides par rapport aux comptes GitHub moyens. Mais plus de 60 % d'entre eux ont des modèles d'activité très artificiels et ils créent presque exclusivement des étoiles (et des forks) sans rien faire d'autre de significatif.
Dans quelle mesure les fausses étoiles sont-elles efficaces pour promouvoir les dépôts GitHub ciblés ?
Résultats : Le modèle de régression montre que les fausses étoiles ont un petit effet positif pour attirer les vraies étoiles (c'est-à-dire l'attention des vrais utilisateurs) au cours des deux premiers mois suivant leur introduction. Cependant, après deux mois, les fausses étoiles ont tendance à avoir un effet négatif (c.-à-d. moins de gain en vraies étoiles).
Du point de vue de la sécurité, l'analyse des fausses étoiles confirme la perception du public selon laquelle les activités malveillantes sont de plus en plus courantes dans la chaîne d'approvisionnement actuelle des logiciels. De plus, cette étude montre comment les escroqueries et les logiciels malveillants peuvent être encouragés par de faux signaux dans GitHub, reflétant ainsi les problèmes observés dans les médias sociaux, mais dans un scénario unique à fort enjeu. Tous ces éléments appellent à de futures recherches dans ce domaine.
Du point de vue des praticiens, nos résultats fournissent des preuves contraires de l'efficacité des fausses étoiles pour le piratage de croissance, suggèrent des contre-mesures potentielles et indiquent la nécessité de concevoir de meilleurs signaux de popularité.
En résumé, les contributions que les auteurs ont apportées sont les suivantes :
- la conception et la mise en œuvre de StarScout, un outil évolutif permettant d'analyser les comportements anormaux des vedettes sur l'ensemble de GitHub. Il en résulte un nouvel ensemble de données à grande échelle sur les fausses stars et les campagnes de fausses stars qui se sont produites sur GitHub ;
- étude de mesure présente de nouveaux résultats concernant la prévalence, les caractéristiques et l'efficacité des fausses stars. Ces résultats donnent des indications pratiques aux modérateurs des plateformes, aux praticiens des logiciels libres et aux chercheurs en sécurité de la chaîne d'approvisionnement.
Activités frauduleuses sur les réseaux sociaux
Les activités frauduleuses sur les réseaux sociaux en ligne impliquent généralement le contrôle de faux comptes pour diffuser du spam ou générer des signaux artificiels. De nombreuses recherches ont été menées sur la lutte contre ces activités frauduleuses. Par exemple, les chercheurs ont exploré comment les faux comptes sont utilisés pour propager des publicités, des logiciels malveillants, des informations erronées, et des opinions politiques.
Ces comptes peuvent également servir à gonfler artificiellement la popularité de certains contenus ou utilisateurs, en générant de faux « J'aime » sur Facebook, Instagram, ou en créant de faux abonnés et retweets sur Twitter. Dans ce dernier cas, des études ont révélé que certains fournisseurs génèrent ces signaux de popularité à l'aide de bots automatisés (ou "sybils"), tandis que d'autres emploient des comptes réalistes, voire des humains réels dans le cadre de la technique de crowdsourcing, ou crowdturfing.
Avec un ensemble de données bien choisi et une bonne ingénierie des caractéristiques, il est souvent possible de construire des modèles d'apprentissage automatique supervisé de haute précision pour détecter ces activités. Cependant, ces modèles peuvent être contournés si les acteurs malveillants adaptent leurs comportements au fil du temps. C'est pourquoi certaines recherches s'orientent vers des méthodes non supervisées pour repérer des utilisateurs et groupes d'activités anormaux qui dévient considérablement des comportements usuels.
Néanmoins, des chercheurs démontrent que des fermes de « J'aime » sur Facebook parviennent encore à contourner ces techniques en simulant des activités d'utilisateurs réalistes et en contournant certaines hypothèses sous-jacentes des méthodes, comme celle selon laquelle les faux « J'aime » sont toujours donnés en rafale. En somme, la lutte contre les activités frauduleuses sur les réseaux sociaux ressemble à une course aux armements sans fin. Cette étude apporte une contribution à cette littérature en documentant de manière systématique l'émergence des fausses étoiles dans un nouveau contexte : GitHub, la plateforme de codage social par excellence pour les projets open source.
Conception de StarScout
À un niveau élevé, StarScout applique des algorithmes distribués sur GHArchive pour localiser deux signatures de comportements anormaux de starification à partir de l'historique du stargazer de GitHub : la signature de faible activité et la signature de verrouillage, qui sont toutes deux associées à de fausses étoiles qui sont toutes deux susceptibles d'être associées à de fausses étoiles. Plus précisément, la signature de faible activité identifie les étoiles provenant de comptes qui deviennent périmés après avoir simplement étoilé un (ou quelques) dépôts ; et la signature de verrouillage identifie les étoiles.
Une vue d'ensemble de StarScout
Il est difficile de tracer une frontière bien définie entre les fausses et les authentiques étoiles GitHub, et on peut facilement trouver des cas particuliers (par exemple, si un dépôt de tutoriel GitHub, dans le cadre de son tutoriel, demande à ses lecteurs de se donner des étoiles à soi-même). Dans leurs travaux, les chercheurs ne tentent pas de définir une telle limite, mais ils se concentrent plutôt sur les dépôts et les utilisateurs présentant des anomalies spécifiques associées à un comportement malveillant.
Les fausses étoiles compromettent la confiance des développeurs
Le phénomène des fausses étoiles sur GitHub soulève des préoccupations sérieuses quant à la sécurité de l’écosystème des logiciels libres. Le nombre d'étoiles, qui est un indicateur clé de la popularité et de la qualité d’un projet, se voit progressivement corrompu par des campagnes artificielles qui altèrent la perception des développeurs et des organisations. Ces pratiques trompeuses, souvent payantes, non seulement faussent l'évaluation des projets, mais elles servent aussi à promouvoir des logiciels malveillants, ce qui constitue une menace directe pour la sécurité des systèmes.
L’ampleur de ce problème est alarmante, avec une augmentation notable des activités frauduleuses depuis 2024, touchant une part significative des dépôts populaires. Le recours à des fausses étoiles pour attirer l'attention sur des logiciels de courte durée, souvent malveillants, illustre la manière dont ces pratiques peuvent nuire à l’écosystème open source. Il est particulièrement inquiétant de constater que, bien que les fausses étoiles offrent un boost temporaire de visibilité, leur effet devient contre-productif à long terme, car elles détournent l’attention des véritables projets de qualité.
L’outil StarScout, qui analyse les métadonnées de GitHub pour détecter ces comportements anormaux, apparaît comme une avancée significative pour lutter contre ce phénomène. Toutefois, l’efficacité de ces outils dépend de leur capacité à s’adapter à l’évolution des tactiques utilisées par les acteurs malveillants, qui modifient constamment leurs méthodes pour contourner les détections. Il est essentiel que GitHub renforce sa modération et mette en place des mesures de contrôle plus robustes pour éviter que ces campagnes ne compromettent davantage la sécurité des utilisateurs.
Au-delà de la mise en place de mécanismes de détection, il est crucial que la communauté des développeurs prenne conscience de la vulnérabilité de ce système de notation par étoiles et commence à évaluer les projets en s'appuyant sur d’autres critères plus fiables. Le nombre d’étoiles ne doit pas être le seul critère décisionnel, et les utilisateurs devraient se tourner vers des mesures de réputation plus complètes qui intègrent des données sur l'activité réelle des dépôts et la participation de la communauté.
Conclusion
Bien que la plateforme GitHub soit essentielle pour le développement de logiciels libres, il est primordial d’envisager des réformes pour préserver la confiance des utilisateurs et garantir la sécurité des projets open source. Cela passe par une surveillance accrue, l'amélioration des outils de détection des fausses étoiles et la promotion de méthodes d’évaluation plus transparentes et sécurisées.
Dans cette étude, les chercheurs ont mené une analyse systématique, globale et longitudinale des fausses étoiles sur GitHub. L'étude met en évidence cette menace croissante et omniprésente sur une plateforme essentielle pour le développement des logiciels libres. Malgré leur prévalence et leur popularité grandissantes, nos résultats révèlent également leur nature problématique : les fausses étoiles sont, dans le pire des cas, utilisées pour diffuser des logiciels malveillants via des dépôts temporaires, et dans le meilleur des cas, elles servent d'outil promotionnel à court terme sans apporter de bénéfices durables.
Ce travail souligne l'importance cruciale d'évaluer d'autres signaux de dépôt au-delà du nombre d'étoiles et appelle à la création de signaux de popularité plus fiables. L'étude met également en lumière la nécessité de poursuivre les recherches sur le spam, les activités frauduleuses et malveillantes dans la chaîne d'approvisionnement des logiciels, notamment en ce qui concerne les risques d'attaques par ingénierie sociale.
Les recherches futures pourraient s'appuyer sur ces résultats pour améliorer les méthodes de détection des fausses étoiles, explorer des données supplémentaires (comme l'analyse des faux comptes sur GitHub d'un point de vue réseau social), et étudier des activités similaires de spam, fraude ou malveillance sur d'autres plateformes ayant un rôle clé dans l'écosystème actuel de la chaîne d'approvisionnement en logiciels.
Source : Researchers from Carnegie Mellon University and North Carolina State University
Et vous ?
Les résultats de cette étude sont-ils pertinents ?
Quelle responsabilité GitHub a-t-il dans la protection des utilisateurs contre les risques associés à ces fausses étoiles, et jusqu'où doit-il aller pour prévenir de telles manipulations ?
Voir aussi :
Les bots représentent 42 % du trafic web mondial en 2024 et les deux tiers sont malveillants, ils mènent des actions de Web scraping qui ont un impact majeur sur le e-commerce, selon une étude d'Akamai
Les bots occupent une place de plus en plus importante sur le Web, représentant plus de 42 % du trafic global, les mauvais bots représentant un record de 27,7 %, selon le Bad Bot Report d'Imperva