Authentification obligatoire dans Snyk CLI
12 janvier 2017
0 minutes de lectureDepuis le lancement de Snyk fin 2015, il était possible de tester des applications sans s’authentifier. Aujourd’hui, nous avons publié une nouvelle version qui exige une inscription (gratuite !) et une authentification avant tout test. Cet article explique pourquoi nous avons effectué ce changement et ce qu’il implique pour vous.
Prévenir les abus
Au cours de l’année 2016, nous avons constaté une utilisation de Snyk importante et en forte croissance. La plupart des utilisations étaient légitimes et progressaient rapidement, mais régulièrement, nous étions confrontés à des pics massifs de tests. Ces pics étaient généralement dus à des abus (parfois même à des attaques intentionnelles) et augmentaient considérablement la charge de notre système, le ralentissant pour les autres utilisateurs.
En théorie, la solution est simple : bloquer ou limiter les utilisateurs abusifs. En pratique, toutefois, il est quasiment impossible d’isoler et de bloquer les utilisateurs anonymes. Les systèmes cloud, des plateformes d’intégration continue comme Travis et Circle aux plateformes cloud comme AWS et Google Cloud, réutilisent constamment les adresses IP. Le blocage par adresse IP est donc très imprécis. De même, l’utilisation partagée des packages open source (et les tests associés) rend également imprécis le blocage des tests par nom de package.
Nous avons étudié ces deux pistes, qui semblaient les plus prometteuses, avant de conclure que, pour un service comme le nôtre, la seule façon de prévenir les abus consiste à exiger une authentification. Une fois l’utilisateur authentifié, il est de nouveau facile de bloquer ou de limiter celui qui consomme plus que sa juste part des ressources.
Échanger avec nos utilisateurs
Snyk est une entreprise en pleine croissance qui évolue rapidement, et nos outils suivent le même rythme. Nous lançons régulièrement de nouvelles fonctionnalités pour aider nos utilisateurs à sécuriser leurs applications plus facilement et avec une plus grande précision.
Malheureusement, lorsqu’une personne utilise Snyk CLI de façon anonyme dans son pipeline d’intégration continue, elle a peu d’occasions de découvrir ces nouvelles fonctionnalités. Nous avons donc constaté que ces utilisateurs anonymes prennent du retard : ce sont les derniers à faire évoluer leur utilisation de Snyk et à l’étendre à davantage d’applications.
Cette obligation d’authentification illustre bien le problème : nous n’avions aucun moyen efficace d’informer les utilisateurs de cette nouvelle exigence. Ces derniers mois, notre CLI indiquait que l’authentification allait devenir obligatoire. Cela a eu un certain effet, mais ce n’était pas un moyen de communication efficace.
En exigeant une authentification, nous pouvons vous informer des changements importants, qu’il s’agisse de nouvelles fonctionnalités intéressantes ou de changements susceptibles d’avoir un impact sur votre utilisation actuelle.
Qu’en est-il de l’application des correctifs ?
Même si les tests avec Snyk nécessitent désormais une authentification, l’application des correctifs Snyk avec snyk protect n’en nécessite pas, et nous ne prévoyons pas de changer cela.
La correction des vulnérabilités avec les correctifs de Snyk fait souvent partie de l’installation d’un package npm. Le package installe ses dépendances, puis corrige les vulnérabilités restantes. Ce processus est effectué par les utilisateurs du package, et non par les utilisateurs de Snyk, et il n’y a pas d’endroit approprié pour inclure un jeton Snyk dans ce processus.
Par conséquent, snyk protect continuera de permettre une utilisation anonyme, malgré le risque d’abus de ressources. Heureusement, protect est une opération relativement peu gourmande en ressources pour nos serveurs !
Cela signifie-t-il que je dois payer pour utiliser Snyk maintenant ?
Pas du tout !
L’inscription à Snyk a toujours été gratuite, et elle le reste. Il vous suffit d’exécuter snyk auth dans votre terminal (ou de vous inscrire sur https://snyk.io/) pour créer un compte. Nous proposons également des offres Premium que nous vous invitons à découvrir, mais l’offre gratuite de Snyk reste exactement la même qu’auparavant.
Une fois inscrit, vous trouverez la commande snyk auth (avec votre clé personnelle) sur votre tableau de bord après vous être connecté, ainsi que sur la page de votre compte. Ajoutez cette ligne avant snyk test et le tour est joué. Si vous utilisez Snyk dans votre pipeline d’intégration continue, consultez notre documentation pour savoir comment y configurer votre jeton d’authentification.
Si vous utilisez Github ou exécutez déjà snyk auth avant snyk test, vous n’avez rien à faire.
Et ensuite ?
Pour permettre à nos utilisateurs de s’y habituer progressivement, nous n’exigeons pour l’instant une authentification que dans la dernière version de notre CLI. Au cours des prochaines semaines, nous suivrons l’adoption de cette nouvelle version et, le moment venu, rendrons l’authentification obligatoire côté serveur.
Nous espérons que vous continuerez à utiliser Snyk pour sécuriser vos applications. Comme toujours, n’hésitez pas à nous faire part de vos commentaires sur ce changement ou sur tout autre sujet à l’adresse support@snyk.io.
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.

