Les composants open source font partie des pratiques normalisées de quasiment toutes les équipes de développement. Cependant, lorsqu’elles ne contrôlent pas la qualité des composants qu’elles utilisent, elles peuvent incorporer sans le savoir des composants vulnérables, risqués, sans licence ou obsolètes.
Il fut un temps où les entreprises se méfiaient du code open source lors du développement de produits logiciels. Le marché naissant d’alors rebutait les décideurs, terrifiés à l’idée que ces outils open source n’exposent leur entreprise au risque sécuritaire. En plus de la cybersécurité, l’utilisation de logiciels open source présentait des difficultés d’ordre juridique et technique également. Avec le temps et la maturité, les composants open source font à présent partie du paysage informatique moderne et sont disponibles sur de nombreux référentiels en ligne. Ils font partie des pratiques normalisées de développement applicatif dans tous les secteurs.
Cependant, les développeurs n’ont aucun moyen de connaître leur niveau de sécurité. Le dernier rapport de Veracode sur l’état de la sécurité logicielle a révélé que 80 % des bibliothèques utilisées dans les logiciels ne sont jamais mises à jour. La crainte d’injecter du code qui pourrait créer des dysfonctionnements est sans doute à l’origine de cet attentisme. Pourtant, explique le rapport « plus de deux tiers des corrections sont mineurs et ne perturbent pas la fonctionnalité des applications logicielles, même les plus complexes ».
Toutes les bibliothèques présentent au moins une vulnérabilité
Le rapport de Veracode révèle également des fluctuations notables dans la popularité et la vulnérabilité des bibliothèques d’une année sur l’autre. Par exemple, quatre des cinq bibliothèques les plus populaires en Ruby en 2019 n’étaient plus dans le top 10 en 2020, tandis que certaines des bibliothèques les plus vulnérables en Go en 2019 sont devenues moins vulnérables en 2020, et vice versa.
Étant donné que presque toutes les applications modernes sont construites à l’aide de bibliothèques open source tierces, une seule faille ou un seul ajustement dans une bibliothèque peut se répercuter en cascade sur toutes les applications utilisant ce code, ce qui signifie que ces changements constants ont un impact direct sur la sécurité des logiciels.
En somme, presque tous les référentiels comprennent des bibliothèques présentant au moins une vulnérabilité. Chris Eng, directeur de la recherche chez Veracode, explique que « la sécurité d’une bibliothèque peut changer rapidement, il est donc crucial de garder un inventaire à jour de ce qui se trouve dans votre application. Nous avons constaté qu’une fois que les développeurs ont choisi une bibliothèque, ils la mettent rarement à jour. Les fournisseurs étant soumis à un examen de plus en plus minutieux de la sécurité de leur chaîne d’approvisionnement, il n’est tout simplement pas possible d’adopter une vision du type “déployez et oubliez”. Il est essentiel que les développeurs maintiennent ces composants à jour et répondent rapidement aux nouvelles vulnérabilités dès qu’elles sont découvertes. »
Pour les besoins de cette étude, Veracode State of Software Security (SoSS) v11 : Open Source Edition, Veracode a analysé 13 millions de scans de plus de 86 000 dépôts contenant plus de 301 000 bibliothèques uniques, et a également interrogé près de 2 000 développeurs pour comprendre comment ils utilisent les logiciels tiers.