Recherche menée par Snyk et Redhunt Labs : analyse des 1 000 principales organisations sur GitHub
22 juin 2023
0 minutes de lectureLe code open source est un élément essentiel du développement moderne. Il permet aux développeurs d’enrichir les fonctionnalités de leurs applications tout en réduisant le temps de développement global. Toutefois, le système n’est pas parfait. La nature des logiciels tiers et de leurs dépendances crée souvent des occasions pour des vulnérabilités de sécurité de se dissimuler dans les bibliothèques et les téléchargements.
Les gestionnaires de paquets constituent une solution à ce problème. De nombreux langages, comme JavaScript ou Python, disposent de gestionnaires de paquets tels que npm (Node Package Manager) et pip (Preferred Installer Program) : ils s’appuient sur les fichiers qu’ils lisent pour déterminer les dépendances à télécharger. Si une dépendance indique explicitement une version, le gestionnaire de paquets télécharge cette version. Or, ces versions de dépendances sont souvent obsolètes et peuvent contenir des vulnérabilités de sécurité.
Dans le cadre d’un récent projet de recherche, Snyk et Redhunt Labs ont voulu mieux comprendre le niveau de sécurité des dépôts GitHub les plus populaires. Les 1 000 principales organisations sur GitHub ont été analysées afin de repérer les dépendances vulnérables dans leurs dépôts de code source. En extrayant leurs dépendances et en comparant leurs versions aux failles de sécurité largement connues, les chercheurs ont tenté d’évaluer l’état de sécurité de ces dépôts. Le rapport présente séparément les résultats pour les dépôts Java, JavaScript, Python et Ruby.
Pour se concentrer sur les dépôts susceptibles d’avoir un impact, l’étude a filtré les dépôts selon leur nombre d’étoiles et certains mots-clés. Au total, 11 900 dépôts ont été examinés et 1 229 601 vulnérabilités ont été découvertes dans 15 584 fichiers de dépendances vulnérables.
Parmi les conclusions :
La désérialisation de données non fiables était le type de vulnérabilité le plus répandu, avec pas moins de 130 831 occurrences dans les dépôts Java, soit 40 % de l’ensemble des vulnérabilités recensées.
La pollution de prototype était la vulnérabilité la plus courante dans les dépôts JavaScript (62 %), qui comptaient au total 549 566 vulnérabilités.
Parmi les 72 082 vulnérabilités trouvées dans les 2 602 fichiers de dépendances des dépôts Python, 16 590 étaient de gravité élevée ou critique.
Enfin, dans les dépôts Ruby, 50 % des vulnérabilités étaient de gravité critique ou élevée.
L’étude met également en avant les dix chercheurs ayant signalé le plus grand nombre de vulnérabilités.
Téléchargez le rapport dès aujourd’hui pour en savoir plus sur l’approche, la méthodologie et les résultats de cette étude passionnante menée avec RedHunt Labs.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis de capture du drapeau en regardant à la demande notre atelier virtuel d’initiation.
