Snyk apporte aux équipes C/C++ une approche AppSec pensée pour les développeurs
4 avril 2023
0 minutes de lectureSnyk est reconnu pour ses solutions de sécurité des applications pensées pour les développeurs et couvrant de nombreux écosystèmes, comme Java, JavaScript, Python et bien d’autres. Snyk permet aux développeurs non seulement de détecter les problèmes, mais aussi de les corriger rapidement. La sécurité s’en trouve révolutionnée et intégrée dès les premières étapes du cycle de développement logiciel (SDLC).
En 2022, nous avons lancé la première version de la prise en charge des packages open source C/C++. Aujourd’hui, nous sommes ravis d’annoncer la bêta ouverte de C/C++ pour Snyk Code ainsi que la prise en charge des licences pour Snyk Open Source.
Les équipes de développement sont confrontées à des difficultés
L’écosystème C/C++ a plus de 40 ans d’histoire. Avec des projets célèbres comme Linux ou Apache Open Office, le C++ a été à l’avant-garde de la révolution open source. Mais si Java, C# ou JavaScript ont répondu à « l’enfer des dépendances » — autrement dit, à la gestion du nombre toujours croissant de dépendances envers les bibliothèques open source —, le C++ ne dispose pas d’approche générale. La gestion des dépendances est ainsi devenue l’un des principaux problèmes auxquels sont confrontés les développeurs C++ d’aujourd’hui.
L’an dernier, nous avons fait un premier pas pour soutenir la communauté C/C++, en permettant de détecter les bibliothèques open source dans les applications C/C++ sans gestionnaire de packages. Depuis, nous avons beaucoup appris auprès de nos clients et confirmé que cette communauté de développement dynamique et solide a besoin de plus qu’une simple intégration à un gestionnaire de packages pour prendre en compte la complexité et la richesse de son écosystème.
Les applications C/C++ sont confrontées aux mêmes difficultés de codage sécurisé et aux mêmes composants vulnérables que celles écrites dans tout autre langage de programmation moderne. Cependant, cet écosystème cumule des années de dette technique, des types de vulnérabilités spécifiques et des bibliothèques antérieures aux gestionnaires de packages. Les développeurs doivent donc intégrer directement les bibliothèques open source à leur code.
Pour détecter les problèmes de sécurité repérables par analyse statique, ces projets devaient généralement être compilés, ce qui ralentissait les workflows de développement, voire les interrompait. Le C/C++ est souvent associé à de nombreux autres langages, et les abstractions utilisées par ces applications brouillent le véritable flux de données.
Toute cette complexité entraîne des lacunes majeures qui mécontentent fortement les développeurs et les équipes de sécurité, notamment :
Une faible productivité des développeurs, due à des outils qui :
sont lents et perturbent les workflows de développement
fournissent des messages difficiles à comprendre
génèrent des alertes de vulnérabilité qui ne permettent pas d’agir
ne proposent pas d’analyse adéquate des flux de données
présentent une courbe d’apprentissage abrupte
Un faible retour sur investissement et des risques élevés : les outils de sécurité C/C++ existants sont médiocres, car ils sont :
coûteux
tributaires de la compilation du code
spécialisés dans des domaines de niche
difficiles à configurer et à maintenir
difficiles à intégrer aux pipelines de build
et finissent par laisser les applications vulnérables
Un manque de visibilité sur les dépendances open source, les vulnérabilités associées et les conditions de licence, car :
il n’existe pas de gestionnaires de packages standardisés
la plupart des développeurs intègrent des copies de bibliothèques open source
Que fait Snyk pour vous aider ?
Snyk est à la pointe du secteur pour fournir aux développeurs des correctifs rapides et exploitables. Désormais, les équipes de développement C/C++ bénéficient de la même expérience. Dans la continuité de nos travaux de l’an dernier, Snyk détecte les problèmes AppSec enfouis dans le code C/C++ et vérifie les licences au regard des politiques définies à l’échelle de l’organisation afin d’assurer la conformité.
Snyk détecte également encore plus de packages open source, notamment la plupart de ceux que l’on trouve dans des gestionnaires de packages populaires comme Conan, sans avoir besoin de fichier manifeste.
Et, bien sûr, Snyk s’intègre facilement à vos outils existants, comme les IDE, pour permettre aux développeurs de détecter et de corriger rapidement les problèmes avant de valider leurs modifications de code.
Prise en charge de C/C++ dans Snyk Code
L’ensemble de règles d’analyse statique que nous lançons aujourd’hui s’adresse principalement aux développeurs d’applications de bureau, serveur et web. À mesure que nous ajouterons des règles, d’autres types d’applications, comme les applications embarquées et automobiles, seront également pris en charge. Snyk Code s’intègre facilement aux outils existants grâce à ses plugins pour IDE et à l’analyse directe du code source, sans compilation.
Aujourd’hui, nous lançons C/C++ en bêta ouverte. Tout au long de cette période, nous améliorerons continuellement notre couverture et nos fonctionnalités. Notre processus de recherche en sécurité du code commence par l’analyse de centaines de milliers de dépôts open source. Nous combinons ensuite l’analyse par IA et apprentissage automatique avec l’expertise de spécialistes humains de la sécurité pour constituer notre base de connaissances Snyk Code. L’écosystème C/C++ ne fera pas exception. Les résultats s’amélioreront continuellement à mesure que nous analyserons davantage de projets.
La prise en charge de C/C++ est en bêta et doit être activée dans la section Snyk Settings / Preview de l’interface web de Snyk. Pendant cette période, vos commentaires nous sont précieux. Veuillez nous contacter en ouvrant un ticket d’assistance dans l’application pour nous faire part de votre expérience avec les règles : nous serons ravis d’y apporter les ajustements nécessaires. Dans les prochains mois, Snyk s’appuiera sur son processus d’apprentissage automatique guidé par des experts, unique dans le secteur, et sur l’IA symbolique pour enrichir et affiner la base de connaissances C/C++ et étendre sa couverture des problèmes connus en C/C++.


Licences C/C++ dans Snyk Open Source
En plus de détecter les packages open source et de fournir des conseils de correction, Snyk Open Source offre désormais une visibilité sur les licences open source C/C++ et les vérifie par rapport aux politiques définies à l’échelle de l’organisation par les équipes de sécurité et juridiques afin d’assurer la conformité. Les développeurs reçoivent en temps réel des conseils sur les licences autorisées, selon les politiques de leur entreprise.
Depuis l’interface CLI, exécutez snyk test --unmanaged dans le répertoire principal de votre projet.
En ajoutant le paramètre supplémentaire --unmanaged dans les paramètres du projet du plugin Snyk — ou de l’extension pour CLion, Visual Studio Code ou tout autre IDE pris en charge —, vous pouvez utiliser cette fonctionnalité directement depuis votre IDE.



Bienvenue dans l’ère moderne du C/C++
Grâce à la prise en charge AppSec du C/C++ par Snyk, les développeurs peuvent facilement détecter et corriger les problèmes de sécurité avec des intégrations intuitives et faciles à utiliser, tandis que les équipes de sécurité bénéficient de toute la visibilité nécessaire, le tout sur une plateforme reposant sur des renseignements de sécurité à la pointe du secteur.
Résultat…
Des développeurs satisfaits et productifs, grâce à :
une intégration fluide aux workflows de développement
des messages faciles à comprendre et permettant d’agir
l’analyse des flux de données directement sur le code source
« 85 % des développeurs qui utilisent Snyk le recommandent à leurs pairs, notamment pour le temps considérable qu’il leur fait gagner et sa facilité d’utilisation. »
Des corrections faciles en moins de temps, grâce à l’approche moderne de Snyk, pensée pour les développeurs, qui :
analyse automatiquement et en continu le code en quelques minutes, voire quelques secondes
analyse le code source, sans nécessiter de compilation
intègre des contrôles de sécurité tout au long du SDLC, par exemple en analysant chaque PR Check
Une visibilité complète sur les problèmes de sécurité C/C++ grâce à des fonctionnalités telles que :
une base de données de packages, licences et vulnérabilités open source C/C++ à la pointe du secteur
la détection des packages open source non gérés (sans gestionnaire de packages) grâce à l’empreinte numérique des signatures de fichiers
des rapports centralisés à l’échelle de l’organisation pour tous les produits de la plateforme, avec des filtres faciles à utiliser
Pour découvrir la démo, consultez l’enregistrement à la demande de SnykLaunch.
Sécurisez vos projets C/C++ dès aujourd’hui.
Démarrez un essai gratuit et planifiez un échange avec l’un de nos experts en sécurité C/C++ pour découvrir les nouvelles fonctionnalités bêta.



