Snyk Open Source ajoute l’analyse de sécurité C/C++ en version bêta pour les projets open source non gérés
8 décembre 2021
0 minutes de lectureNous sommes ravis d’annoncer la bêta ouverte de l’analyse de sécurité C/C++ dans Snyk Open Source. Les équipes de développement et de sécurité peuvent ainsi détecter et corriger les vulnérabilités connues dans leur code et leurs bibliothèques open source C/C++ !
Utilisé dans de nombreux secteurs et particulièrement présent dans les domaines du jeu vidéo, du matériel et de l’IoT, ainsi que des communications, le C/C++ continue d’avoir un impact majeur sur le développement logiciel et le secteur technologique dans son ensemble. Selon l’indice TIOBE de novembre 2021, le C et le C++ figurent parmi les cinq principaux langages de programmation, respectivement en deuxième et quatrième position. L’indice PYPL et le classement RedMonk présentent des résultats similaires.
Comme les développeurs qui utilisent d’autres langages de programmation, les développeurs C/C++ s’appuient sur du code et des bibliothèques open source pour créer leurs applications. Cette dépendance croissante entraîne un risque : des vulnérabilités connues peuvent se cacher dans ces bibliothèques. Le problème est aggravé par le fait que, contrairement aux développeurs qui utilisent des langages plus récents, la majorité des développeurs C/C++ ne suivent pas de processus standardisé pour gérer ces bibliothèques (49 % des développeurs C++ citent la gestion des packages comme une difficulté majeure dans la dernière enquête de la communauté C++). Le code source des bibliothèques open source est plutôt intégré au code de l’application, ce qui complique la gestion de ces bibliothèques et la détection des vulnérabilités qu’elles peuvent contenir.
Grâce à cette annonce, les utilisateurs de Snyk Open Source peuvent atténuer ce risque en testant leurs projets C/C++ depuis la Snyk CLI, que ce soit manuellement dans leur environnement de développement local ou de façon automatisée dans un pipeline CI/CD.
La version bêta prend en charge les fonctionnalités suivantes :
snyk unmanaged testdans la Snyk CLIsnyk unmanaged monitordans la Snyk CLIDonnées sur les vulnérabilités issues de la National Vulnerability Database (NVD)
Voyons rapidement comment cela fonctionne.
Configurer la Snyk CLI
Tout d’abord, vérifiez que la Snyk CLI est installée. Si vous connaissez déjà la Snyk CLI et qu’elle est installée, assurez-vous d’utiliser la version 1.775.0 ou une version ultérieure.
La configuration de la Snyk CLI est simple. Installez-la rapidement à l’aide de npm ou de Homebrew, puis authentifiez-vous avec votre compte Snyk (si ce n’est pas déjà fait, inscrivez-vous gratuitement) :
Votre navigateur s’ouvrira et vous demandera d’authentifier la CLI. Il vous suffit de vous authentifier !
Vous pouvez maintenant utiliser la Snyk CLI pour analyser vos projets C/C++ à la recherche de vulnérabilités.
Rechercher des vulnérabilités de sécurité
Essayons la Snyk CLI en lançant un premier test.
Pour analyser un projet, les bibliothèques open source doivent se trouver dans le répertoire analysé. Dans ce répertoire, exécutez la commande CLI suivante :
Snyk convertit alors tous les fichiers du dossier en une liste de signatures numériques, ou hachages, puis les compare à ses bases de données pour établir une liste des composants open source correspondants. Cette liste est ensuite comparée à la National Vulnerability Database (NVD) pour afficher les résultats.
La procédure d’analyse des vulnérabilités dépend du nombre de fichiers dans votre projet et peut prendre de quelques secondes à quelques minutes. Une fois l’analyse terminée, la liste des vulnérabilités détectées s’affiche :

Comme dans l’exemple ci-dessus, la liste des problèmes indique la gravité de la vulnérabilité, son CVE, des informations sur la bibliothèque à l’origine de la vulnérabilité ainsi qu’un lien vers la vulnérabilité dans la NVD.
Une autre commande utile permet d’afficher les bibliothèques open source incluses dans le projet, qu’elles soient vulnérables ou non :
La Snyk CLI affiche alors la liste des dépendances avant celle des vulnérabilités. Comme dans cet exemple, le projet inclut les bibliothèques curl, iw et zip.

Vous pouvez également importer les résultats de l’analyse dans l’application Snyk pour mieux les consulter et générer des rapports. Pour cela, utilisez la commande suivante :
Un instantané de vos bibliothèques C/C++ est créé, ainsi que des vulnérabilités qu’elles contiennent, puis importé dans Snyk pour un examen et une analyse plus approfondis. Il apparaît comme un nouveau projet sur la page Projets :

Vous pouvez interagir avec les résultats de l’analyse de nombreuses autres façons, notamment en les filtrant ou en les exportant au format JSON. Consultez notre documentation Snyk pour découvrir les autres options de la CLI !
À la découverte de l’open source non géré
Les équipes de développement C/C++ qui souhaitent maintenir un rythme de développement soutenu tout en préservant la sécurité doivent composer avec des bases de code contenant une grande quantité de code hérité. Dans ces bases de code, une grande partie du code open source n’est pas déclarée : elle est utilisée directement en l’intégrant à l’application, ce qui rend extrêmement difficile la gestion des risques associés.
Cette annonce de bêta marque la première étape de Snyk pour aider ces équipes à relever ce défi, en étendant pleinement nos fonctionnalités d’analyse de la composition logicielle, conçues pour les développeurs, à la sécurisation de l’open source non géré. Nous prévoyons ensuite d’intégrer entièrement la prise en charge de C/C++ dans Snyk Open Source à la base de données de vulnérabilités Snyk Intel, puis, à terme, d’ajouter la prise en charge de l’open source non géré dans d’autres écosystèmes, comme JavaScript et Java.
À mesure que nous mettons en œuvre ces prochaines étapes, nous comptons sur vos commentaires pour nous assurer d’avancer dans la bonne direction. Nous voulons vérifier que nous développons les fonctionnalités adéquates et que nous les proposons dans le bon ordre.
Alors, n’hésitez pas à participer ! Ces fonctionnalités sont disponibles en version bêta dans toutes les offres payantes de Snyk : Team, Business et Enterprise. Pour rejoindre la bêta, contactez notre équipe à l’adresse ccpp-beta@snyk.io afin que nous puissions vérifier que votre cas d’utilisation est pris en charge.
Pour en savoir plus sur l’analyse de vos projets C/C++ et la prise en charge bêta, consultez notre documentation Snyk.
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.
