Utiliser la Snyk Vulnerability Database pour trouver des projets pour The Big Fix
DeveloperSteve Coochin
16 février 2022
0 minutes de lectureEn tant que développeurs, nous avons tous notre routine matinale : préparer un café, consulter Slack/Discord/e-mails et lire les dernières actualités. Dans le cadre de ma routine quotidienne, je consulte la Snyk Vulnerability Database pour découvrir les dernières vulnérabilités open source.
Il est particulièrement intéressant de voir les types d’exploits et de vulnérabilités qui apparaissent dans différents écosystèmes. Par exemple, depuis mai 2021, je suis l’apparition de vulnérabilités dans les bibliothèques Tensorflow. Au moment où j’écris ces lignes, elles sont réapparues (près de deux pages de résultats !).
Un autre écosystème très utilisé qui est apparu plusieurs fois récemment est ElectronJS. Il propulse de nombreuses applications populaires, comme Slack, VSCode et Twitch, pour n’en citer que quelques-unes.
Je vais vous montrer comment trouver un projet à corriger, obtenir l’un des t-shirts en édition limitée #thebigfix et contribuer à protéger les utilisateurs des vulnérabilités. Tout le monde y gagne !
Pour commencer avec The Big Fix
La première étape consiste à créer un compte Snyk gratuit, si vous n’en avez pas déjà un. Rendez-vous sur la page de démarrage et renseignez les informations habituelles (aucune carte bancaire n’est requise). Ensuite, allez sur le site de The Big Fix et cliquez sur Inscrivez-vous maintenant, indiquez votre nom et votre adresse e-mail, et vous voilà prêt à commencer.
Une fois inscrit, l’étape suivante consiste à trouver des éléments à corriger. Il existe plusieurs façons de procéder.
Connecter un dépôt existant
Si vous avez déjà un dépôt de projet en tête, vous pouvez le connecter rapidement et facilement. Accédez à votre tableau de bord Snyk et cliquez sur Ajouter un projet. Si le dépôt de votre choix ne figure pas dans le menu rapide, cliquez sur Autre pour accéder à la liste complète des options d’intégration.
Sélectionnez le dépôt de votre choix et suivez les étapes pour le connecter et le configurer.

Une fois le dépôt connecté, cliquez de nouveau sur Ajouter un projet et sélectionnez celui dans lequel vous souhaitez lancer une analyse des vulnérabilités open source. Vous pouvez même analyser des dépôts privés.

Une fois connecté à Snyk Open Source, l’analyse détecte les packages vulnérables dans le fichier manifeste du package connecté. Elle identifie également les correctifs et les mesures de remédiation possibles. Snyk Open Source permet aussi de créer automatiquement une pull request dans le dépôt avec des correctifs potentiels — n’oubliez pas de tester l’application pour vérifier que tout fonctionne comme prévu dans le projet.
Trouver un projet auquel contribuer
Si vous cherchez un projet dans lequel contribuer à corriger une vulnérabilité, vous pouvez en trouver un dans la Snyk Vulnerability Database en parcourant les packages ou l’écosystème de votre choix.
L’un des projets auxquels j’ai récemment contribué dans le cadre de The Big Fix est l’un de mes préférés dans l’écosystème open source PHP : Invoice Ninja. Ce projet open source aide les entreprises du monde entier à gérer leur facturation et leur comptabilité, et s’intègre à divers outils professionnels tiers.
J’ai d’abord forké le dépôt principal dans mon propre compte. Puis, en suivant la méthode décrite plus haut, j’ai connecté le dépôt à Snyk Open Source.

L’analyse a détecté plusieurs vulnérabilités dans le fichier manifeste des packages Composer PHP. L’une d’elles était introduite par DOMPDF 0.6.2, une bibliothèque utilisée comme dépendance.

En examinant de plus près certains résultats, j’ai repéré plusieurs problèmes, notamment un chemin vulnérable aux attaques Cross-Site Scripting (XSS) dans PHP-Font-Lib — une vulnérabilité datant de 2014. En remontant la chaîne des dépendances dans le projet, j’ai pu identifier non seulement le problème lui-même, mais aussi le correctif nécessaire.
Lorsque vous déployez des correctifs, vous devez garder quelques éléments à l’esprit. Le plus important est de vous assurer que le projet fonctionne toujours dans son ensemble. C’est particulièrement essentiel lors des mises à niveau de bibliothèques et de dépendances. De nombreuses personnes s’appuient sur ces projets au quotidien pour leur activité, et aucun projet ne souhaite introduire une modification qui casse des fonctionnalités.
J’ai récupéré le dépôt forké sur mon localhost à l’aide d’une requête git pull et lancé VSCode, où le plugin Snyk était installé. J’ai pu mettre à niveau les packages concernés et déboguer le code. Ensuite, je l’ai exécuté sur mon localhost pour le tester, à l’aide d’un serveur localhost (vous pouvez aussi utiliser le serveur intégré de PHP).
Enfin, après avoir validé les modifications dans mon dépôt forké, j’ai soumis une requête git pull. La communauté l’a ensuite examinée et vérifiée avant de la fusionner.
La joie de contribuer
J’aime rendre à la communauté ce qu’elle m’apporte, surtout lorsque je peux contribuer à la protéger des vulnérabilités. En tant que contributeurs de communautés open source, il est toujours important de participer et d’aider à protéger tous les utilisateurs d’un projet.
Et en prime : vous recevez un t-shirt gratuit et votre nom est tiré au sort pour gagner des prix dans le cadre de The Big Fix.
Inscrivez-vous à The Big Fix et commencez à corriger des vulnérabilités dès aujourd’hui !
Participez à The Big Fix
Rejoignez les milliers de développeurs qui sécurisent actuellement leurs applications avec Snyk.



