Faire évoluer la CLI Snyk grâce à une approche extensible
Steve Winton
7 février 2023
0 minutes de lectureChaque jour, des milliers de développeurs utilisent la Snyk CLI dans leur workflow de développement afin d’identifier et de résoudre les problèmes de sécurité dans leur code le plus tôt possible. Et si ces développeurs et d’autres professionnels de la sécurité pouvaient tirer parti de cette approche axée sur les développeurs et profiter également de nouvelles analyses, de nouveaux filtres et workflows de sécurité grâce à une approche extensible ? Imaginez pouvoir filtrer, ignorer et faire remonter les résultats par programmation, selon une logique métier personnalisée, ou intégrer une analyse de sécurité personnalisée à une commande snyk test extensible, puis voir les résultats de cette analyse apparaître tout au long du cycle de développement logiciel.
C’est la direction que nous prenons avec la Snyk CLI. Aujourd’hui, nous annonçons une première étape importante vers cette vision.
Offrir une expérience CLI de qualité avec un modèle distribué
Depuis son tout premier commit open source, en 2015, la Snyk CLI a connu une croissance et une adoption remarquables. De plus en plus de développeurs s’appuient sur elle pour sécuriser leurs applications. Grâce à un ensemble croissant de fonctionnalités prenant en charge de nombreux workflows de sécurité axés sur les développeurs, elle couvre tous les aspects des applications modernes, du code au cloud.
Pour concrétiser notre vision d’une CLI extensible et continuer à la faire évoluer à grande échelle afin d’apporter toujours plus de valeur à nos utilisateurs, tout en préservant une expérience en ligne de commande claire et cohérente, nous abandonnons l’application CLI centralisée et « monolithique » au profit d’un modèle distribué. Ce nouveau modèle privilégie par défaut l’extensibilité, encadrée par des interfaces stables.
Nous faisons évoluer la façon dont nous concevons, développons et publions la Snyk CLI : les commandes de premier niveau snyk deviennent le point d’entrée commun vers plusieurs extensions, dont la CLI historique.
Cela fait beaucoup à se représenter ! Voici un schéma pour illustrer cette approche :

Cette approche présente plusieurs avantages : nous préservons la rétrocompatibilité tout en pouvant innover et introduire de nouvelles fonctionnalités dans des espaces de noms dédiés. Parallèlement, nous pouvons décomposer progressivement et en toute sécurité l’application CLI monolithique historique en ses différents composants extensibles.
Les personnes qui suivent de près les dernières évolutions de la CLI ont peut-être remarqué que nous appliquons déjà ce modèle avec l’introduction de la commande snyk sbom, actuellement en bêta, et développée à l’aide de notre framework d’extensibilité.
Restez à l’écoute pour les prochaines nouveautés
Au fil du temps, d’autres « extensions de premier ordre » seront introduites et regroupées de manière cohérente sous l’espace de noms de la CLI snyk de premier niveau. Notre objectif est de créer un écosystème ouvert d’extensions utiles qui favorisent la personnalisation et l’innovation autour de la Snyk CLI. Par exemple, un outil de sécurité tiers pourrait enrichir les analyses effectuées par snyk test afin d’apporter une meilleure visibilité sur la sécurité dans les outils et workflows que les développeurs utilisent et auxquels ils font confiance chaque jour.
Pour l’instant, toutefois, même si en coulisses, les choses ont quelque peu changé — le point d’entrée et les extensions étant désormais fournis sous forme d’exécutables binaires autonomes —, du point de vue extérieur, rien ne change dans l’utilisation de la CLI. Nous continuerons à proposer des versions via GitHub et npm, et à héberger chaque version sur notre CDN, static.snyk.io. À l’avenir, si nous apportons des changements incompatibles à la Snyk CLI, nous les annoncerons et les préciserons explicitement (par exemple, en suivant le versionnage sémantique).
D’ici là, nous espérons que vous continuerez à utiliser la Snyk CLI avec plaisir pour sécuriser vos workflows de développement. Pour en savoir plus, consultez la documentation de la Snyk CLI. Pour toute question ou demande d’assistance, n’hésitez pas à nous contacter.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.



