Skip to main content

Découvrez Snyk pour .NET, Go et PHP

Écrit par
Headshot of Aner Mazur

Aner Mazur

21 décembre 2017

0 minutes de lecture

Les fêtes de fin d’année approchent, et nous nous sommes dit : pourquoi ne pas offrir un petit cadeau à la communauté Snyk, qui ne cesse de grandir ?

Snyk s’engage depuis toujours à faciliter l’utilisation du code open source sans compromettre la sécurité. Aujourd’hui, nous franchissons une nouvelle étape en lançant la prise en charge de CLI pour .NET, Go et PHP !

La CLI vous permet de tester vos applications manuellement ou à des étapes clés de votre processus CI. Elle analyse l’arborescence de dépendances pour identifier chaque dépendance utilisée et sa version, puis les teste toutes. Les intégrations avec les outils de gestion du code source suivront bientôt.

Prenez quelques minutes (pas plus !) pour sécuriser vos applications.

Démarrage rapide

Commencez par installer ou mettre à jour Snyk vers la dernière version, puis authentifiez-vous :

npm install -g snyk 
snyk auth

Snyk examine les modules installés localement pour résoudre toutes les dépendances. Vous devez donc vérifier qu’ils sont déjà disponibles.

Pour .NET, vérifiez que le dossier packages/(.NET) ou obj/(.NET Core) a été renseigné via Visual Studio ou dotnet restore.

Pour Golang, vérifiez que le dossier vendor/ a été renseigné via dep ensure ou govendor sync. La variable d’environnement GOPATH doit également être correctement définie.

Pour PHP, vérifiez que le fichier composer.lock a été créé par composer install.

Accédez ensuite au dossier de votre projet et lancez une analyse des vulnérabilités :

snyk test

La commande affiche alors toutes les vulnérabilités détectées, par exemple :

$ ✗ snyk test
✗ Medium severity vulnerability found on Microsoft.AspNetCore.All@2.0.0
- desc: Open Redirect
- info: https://snyk.io/vuln/SNYK-DOTNET-MICROSOFTASPNETCOREALL-600122
- from: dotnetcore@1.0.0 > Microsoft.AspNetCore.All@2.0.0

✗ Medium severity vulnerability found on Microsoft.AspNetCore.Server.HttpSys@2.0.0
- desc: Denial of Service (DoS)
- info: https://snyk.io/vuln/SNYK-DOTNET-MICROSOFTASPNETCORESERVERHTTPSYS-600125
- from: dotnetcore@1.0.0 > Microsoft.AspNetCore.All@2.0.0 > Microsoft.AspNetCore.Server.HttpSys@2.0.0

✗ High severity vulnerability found on System.Net.Http@4.3.0
- desc: Privilege Escalation
- info: https://snyk.io/vuln/SNYK-DOTNET-SYSTEMNETHTTP-60047
- from: dotnetcore@1.0.0 > System.Net.Http@4.3.0

Pour suivre les nouvelles vulnérabilités divulguées qui touchent un projet dans l’interface Snyk, utilisez la commande monitor. Vous pouvez exécuter snyk test et snyk monitor dans vos environnements CI pour intégrer la sécurité à votre pipeline de déploiement.

snyk monitor
Tableau de bord de sécurité affichant un fichier composer.lock vulnérable présentant un problème d’exécution de code arbitraire dans Zend Framework.

Sécuriser Go

L’écosystème Go compte étonnamment de nombreux gestionnaires de paquets, mais commence à se rallier à dep, le gestionnaire de paquets « expérimental officiel », adopté par un nombre croissant de projets. Pourtant, une part notable des clients qui ont accepté de participer à notre programme alpha Go a également demandé la prise en charge de govendor. La CLI Snyk prend donc en charge ces deux gestionnaires de paquets.

La CLI Snyk examine tous vos imports, directs et indirects, et les compare aux versions verrouillées enregistrées dans Gopkg.lock ou vendor/vendor.json.

Restez à l’écoute : nous publierons bientôt des articles consacrés à Golang, dans lesquels nous partagerons nos découvertes sur l’écosystème des paquets Go et les différents défis rencontrés lors du développement de la prise en charge de Go dans Snyk.

Sécuriser .NET

Nous analysons les projets .NET et .NET Core afin d’examiner les dépendances NuGet et de détecter les vulnérabilités connues. Pour les projets .NET, nous traitons les fichiers packages.config ; pour les projets .NET Core, les fichiers obj/project.assets.json.

Nous prenons également en charge les fichiers .sln afin d’automatiser la sécurité open source de tous les projets d’une solution.

Fait intéressant, lors du développement de la prise en charge de .NET, nous avons été surpris de constater à quel point l’analyse des vulnérabilités open source est importante pour .NET : l’application .NET Core v2 par défaut dépend de Microsoft.AspNetCore.All/2.0.0, qui introduit plus de 10 vulnérabilités ! Vérifiez vos projets dès aujourd’hui.

Sécuriser PHP

Snyk permet de tester et de surveiller les projets PHP dont les dépendances sont gérées par composer.

Nous analysons les projets PHP en examinant votre fichier composer.lock et en comparant les versions exactes de chaque dépendance directe ou transitive de votre projet à notre base de données des vulnérabilités Composer.

Essayez !

Nous avons beaucoup travaillé sur ce lancement, recueillant les commentaires des utilisateurs de notre programme alpha et peaufinant le produit au fil du temps. Nous sommes ravis d’ouvrir désormais la CLI à tout le monde.

Comme toujours, Snyk est gratuit pour les projets open source, quel que soit leur nombre. L’open source est un atout formidable pour le développement, et nous sommes heureux de contribuer à le rendre aussi sûr que possible.

Vous avez des commentaires ? N’hésitez pas à nous en faire part. Nous cherchons toujours à améliorer Snyk. De même, si vous souhaitez que Snyk prenne en charge d’autres langages ou gestionnaires de paquets, dites-nous lesquels. Cela nous aide à définir nos priorités, et nous sommes toujours ravis de donner un accès anticipé aux développeurs qui souhaitent tester le produit et nous faire part de leurs commentaires.

Lire la suite

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

feature insights context
Blog

La prévention est-elle essentiellement un problème résolu ?

La prévention dans le code généré par les agents est résolue sur le plan architectural, mais le défi reste de choisir des contrôles qui protègent la sécurité sans ralentir le développement.

Live Stream

Les agents de remédiation démystifiés : pourquoi corriger vaut mieux que détecter

Découvrez comment l’agent de remédiation de Snyk utilise les renseignements de sécurité, l’analyse de la cassabilité et la validation pour transformer les vulnérabilités en pull requests prêtes à être fusionnées.