Skip to main content

Snyk apporte aux équipes C/C++ une approche AppSec pensée pour les développeurs

blog feature snyklaunch

4 avril 2023

0 minutes de lecture

Snyk 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++.

IDE affichant du code C avec un dépassement de tampon dans strcpy mis en évidence, ainsi qu’un panneau Snyk listant les vulnérabilités et des exemples de correctifs
Panneau Snyk dans l’IDE montrant un dépassement de tampon critique dans du code C++, avec le flux de données et des exemples de correctifs externes

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.

Tableau de bord des vulnérabilités Snyk mettant en évidence un problème lié à la licence AGPL-3.0-only dans la dépendance open5gs
Tableau de bord des dépendances répertoriant les paquets curl, glaspell, open5gs et OpenSSL, avec le nombre de problèmes et les informations sur les licences
Historique du projet Snyk présentant des problèmes de licences open source, des filtres de gravité et des avertissements de conformité pour les dépendances GNU Aspell et Open5GS.

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.

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.

blog feature ai violet
Blog

VulnBump : les agents IA peuvent-ils corriger les dépendances vulnérables sans casser le build ?

VulnBump évalue des agents IA sur 307 mises à niveau de dépendances réelles. Une correction n’est comptabilisée que si la vulnérabilité disparaît et que la compilation et les tests restent au vert.

Blog

Les modèles de pointe ont trouvé les vulnérabilités. Seul l’attaquant a trouvé les chaînes d’exploitation.

L’analyse statique a détecté les failles, mais seuls des tests d’attaque en conditions réelles ont prouvé comment elles pouvaient être enchaînées pour provoquer des compromissions. Comparaison d’Evo COS, de Claude Security et de Claude Code Security.