Skip to main content

Utiliser la Snyk Vulnerability Database pour trouver des projets pour The Big Fix

Écrit par
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog hero the big fix

16 février 2022

0 minutes de lecture

En 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.

Tableau de bord des intégrations présentant les options de gestion du code source GitHub, GitHub Enterprise, GitLab, Bitbucket et Azure Repos

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.

Interface de sélection des dépôts affichant une barre de recherche et les dépôts personnels et d’organisation extensibles sous « developersteve ».

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.

Page de dépôt GitHub en thème sombre affichant des dossiers, des messages de commits récents et 9 437 commits

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.

Détails de la vulnérabilité de phenx/php-font-lib : faille de type cross-site scripting de gravité moyenne, sans exploit connu.

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.

Lire la suite

blog feature snyk container custom base recommendations
Blog

Découvrez Evo Agentic AppSec : une sécurité au rythme du développement de l’IA

Le développement piloté par l’IA dépasse les workflows de sécurité traditionnels. L’AppSec agentique de Snyk s’appuie sur des agents de sécurité pour détecter, corriger et vérifier les vulnérabilités en continu, tandis que les équipes définissent les exigences.

Live Stream

Les agents de remédiation démystifiés : pourquoi corriger vaut mieux que détecter

Découvrez comment l’agent de remédiation de Snyk utilise les renseignements de sécurité, l’analyse de la cassabilité et la validation pour transformer les vulnérabilités en pull requests prêtes à être fusionnées.

feature ai ide dark
Blog

Premiers aperçus d’Evo Agentic AppSec : remédiation agentique et défense contre le code malveillant

Découvrez les premières capacités d’Agentic AppSec de Snyk : un agent de remédiation autonome qui corrige les vulnérabilités et une défense contre le code malveillant qui bloque les packages à risque avant leur mise en production.