Votre site web est-il vulnérable ? Corrigeons cela !
5 mars 2020
0 minutes de lectureSi vous gérez un site web, qu’il s’agisse d’une application SaaS complète ou d’un petit blog — créé avec Gatsby, WordPress ou une configuration indépendante sur GitHub Pages — l’un des principaux risques à réduire est celui des vulnérabilités de sécurité.
Les vulnérabilités de sécurité dans les bibliothèques JavaScript tierces sont probablement l’une des principales préoccupations en matière de sécurité, car JavaScript est le langage de programmation le plus populaire et le langage privilégié des développeurs pour créer des sites web. Le recours au code open source et aux modules développés par les contributeurs des communautés open source ne cesse de croître, ce qui soulève également d’importants enjeux de sécurité.
En octobre 2019, Snyk a indiqué que 84 % des sites web étaient concernés par des vulnérabilités XSS dans jQuery, selon les données de recherche présentées dans le rapport 2019 sur la sécurité des frameworks JavaScript.
Cela n’a toutefois rien de très surprenant. Dans de précédents rapports, Snyk a révélé des problèmes similaires : les vulnérabilités de sécurité JavaScript sont largement répandues sur Internet :
Rapport de mars 2017 : 77 % des sites utilisent au moins une bibliothèque JavaScript vulnérable
Rapport de novembre 2017 : 77 % de 433 000 sites utilisent des bibliothèques JavaScript vulnérables
En réalité, le problème s’aggrave lorsque nous, développeurs et propriétaires de sites web, ne mettons pas à jour les versions de nos dépendances JavaScript installées. Cela crée un risque inutile lorsqu’une vulnérabilité de sécurité est découverte dans une version que nous utilisons.
Cloudflare a récemment publié un article de blog sur les problèmes de sécurité mis en évidence par les données recueillies via ses services de réseau de diffusion de contenu (CDN). L’entreprise a conclu que les bibliothèques JavaScript ne sont presque jamais mises à jour après leur installation.
Alors, votre site web est-il vulnérable ?
Pour réduire facilement les risques de sécurité liés aux dépendances tierces vulnérables, détectez les bibliothèques et leurs versions, comparez-les à une base de données de vulnérabilités fiable, puis mettez à niveau les dépendances vulnérables vers des versions corrigées.
C’est beaucoup plus simple qu’il n’y paraît. Pour rendre les informations sur les bibliothèques vulnérables d’un site web accessibles et faciles à détecter, j’ai créé un projet open source appelé is-website-vulnerable. Ce projet s’appuie sur la Snyk Vulnerability Database, qui répertorie les vulnérabilités de sécurité côté frontend, ainsi que sur l’intégration Lighthouse de Snyk.
Utilisez is-website-vulnerable pour détecter les vulnérabilités de sécurité publiquement connues dans les bibliothèques JavaScript côté frontend d’un site web :

Il s’agit d’une application en ligne de commande (CLI) qui vous permet de tester facilement votre site web.
Mon site web est vulnérable : comment ajouter des tests de sécurité pour éviter que cela ne se reproduise ?
Lancer une analyse dynamique de la sécurité d’un site web, qu’elle soit automatisée ou manuelle, prend souvent beaucoup de temps, coûte cher et nécessite une expertise en sécurité ainsi qu’une bonne compréhension du contexte de l’application pour configurer correctement le test du site web ou de l’application web.
Un outil comme is-website-vulnerable permet de détecter rapidement les vulnérabilités JavaScript potentielles dans les bibliothèques obsolètes ou qui ne sont plus maintenues. Il exécute rapidement des tests et vous recommande de mettre à niveau les versions vulnérables afin de réduire le risque global lié à leur utilisation.
Si vous utilisez GitHub Actions, servez-vous de l’outil is-website-vulnerable pour analyser automatiquement votre site web dans un pipeline d’intégration continue et faire échouer la compilation si le site utilise des versions vulnérables de JavaScript.
Pour cela, créez le fichier .github/workflows/is-website-vulnerable.yml et indiquez l’URL du site web à analyser :
Si vous utilisez un autre outil CI que GitHub Actions, utilisez l’image Docker d’is-website-vulnerable ou, à défaut, installez la CLI et exécutez-la directement à l’étape CI.
Mon site web est vulnérable : comment corriger le problème ?
Savoir qu’une dépendance JavaScript que vous utilisez présente une vulnérabilité de sécurité est un excellent premier pas. Mais pouvoir la corriger et recevoir proactivement des correctifs de sécurité automatisés dans votre dépôt de code source, c’est encore mieux !
Snyk est gratuit pour les projets open source et même pour les packages privés (dans certaines limites d’utilisation). Connectez votre dépôt de code source à Snyk pour surveiller les dépendances open source utilisées dans votre projet. Mieux encore, lorsqu’une vulnérabilité touche un projet surveillé par Snyk et peut être corrigée, Snyk crée proactivement une pull request dans le dépôt pour proposer une mise à niveau.
Les avantages des correctifs de sécurité de Snyk Open Source :
Snyk détermine la mise à niveau minimale nécessaire pour corriger une vulnérabilité et vous avertit lorsqu’il existe un risque de régression.
Accélérez le triage des vulnérabilités transitives grâce aux suggestions de correction de Snyk pour la dépendance directe.
Lorsque la mise à niveau est trop perturbatrice (ou impossible), corrigez rapidement et précisément le problème grâce aux correctifs propriétaires de Snyk, développés en collaboration avec le responsable de la bibliothèque.
Essayez !

Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
