Skip to main content

Bien démarrer avec Snyk pour développer des applications Java sécurisées

Écrit par
blog social snyk secure java

23 juin 2021

0 minutes de lecture

Si vous développez en Java et souhaitez créer des applications plus sécurisées, vous êtes au bon endroit. Snyk peut vous aider à atteindre cet objectif. Cet article vous explique comment démarrer avec Snyk pour développer en Java de manière sécurisée, afin de renforcer votre sécurité dès le départ.

Si vous découvrez Snyk, sachez que nous proposons une gamme de produits et d’outils conçus pour les développeurs. Certains, comme notre CLI et certaines intégrations IDE, prennent en charge plusieurs produits. Snyk se décline toutefois en quatre produits distincts :

  1. Snyk Open Source - Sécurisez vos dépendances open source

  2. Snyk Container - Sécurisez vos images de conteneurs

  3. Snyk Infrastructure as Code (Snyk IaC) - Sécurisez votre infrastructure as code

  4. Snyk Code - Sécurisez votre code personnalisé. Dans cet article, nous nous concentrerons uniquement sur Java.

Pour commencer à utiliser ces outils, vous devez créer un compte Snyk gratuit. Pour les développeurs qui travaillent seuls, notre offre gratuite répond généralement largement à vos besoins : gardez donc votre carte bancaire dans votre portefeuille.

Une fois votre inscription terminée, vous pouvez utiliser Snyk avec Java de plusieurs façons. Je vais vous présenter les outils un par un.

Snyk CLI

La Snyk CLI est l’outil le plus accessible pour découvrir Snyk avec Java. Vous pouvez l’installer de différentes manières, par exemple avec npm ou brew :

npm install -g snyk

Cet outil est idéal sur votre machine locale et peut aussi se révéler très utile dans votre pipeline CI. Pour commencer, authentifiez la CLI snyk en définissant votre jeton d’API comme variable d’environnement (recommandé pour les systèmes CI) ou en exécutant snyk auth.

Pour détecter les problèmes de sécurité dans les dépendances open source de votre projet Java, il vous suffit d’exécuter snyk test à la racine du projet. Selon le système de build Java que vous utilisez, veillez à ce que Maven ou Gradle soit installé et disponible. La Snyk CLI utilise votre gestionnaire de paquets ainsi que pom.xml ou build.gradle pour récupérer l’arborescence complète des dépendances. Avant d’exécuter snyk test, assurez-vous que votre projet est compilé avec Maven ou Gradle afin d’éviter tout résultat inattendu.

Si votre projet contient plusieurs fichiers manifeste, par exemple plusieurs fichiers pom, utilisez l’option --all-projects pour analyser tous vos projets. Cela fonctionne aussi, par exemple, si vous avez un projet Java Gradle associé à une interface JavaScript utilisant npm. Enfin, utilisez l’option --help pour trouver des paramètres spécifiques à Maven ou Gradle.

Consultez l’antisèche de la CLI pour découvrir d’autres astuces sur la Snyk CLI. Vous pouvez également utiliser la même CLI pour rechercher des problèmes de sécurité dans vos conteneurs et votre infrastructure as code (IaC). Par ailleurs, nous publierons bientôt Snyk Code pour la CLI, qui aide à prévenir les vulnérabilités de sécurité dans votre code Java personnalisé.

Connecter le dépôt Git de votre projet Java

Vous pouvez ensuite connecter votre dépôt Git. Une fois votre dépôt Java connecté, par exemple sur GitHub, Snyk recherche automatiquement votre fichier manifeste Maven ou Gradle et analyse vos dépendances. Par défaut, cette opération est répétée chaque jour et vous êtes averti dès qu’une nouvelle vulnérabilité de sécurité ou un correctif est détecté dans votre dépôt.

L’exemple ci-dessous présente le fichier pom d’un projet de démonstration qui contient des vulnérabilités de sécurité connues. Chaque fois que Snyk détecte un nouveau problème, celui-ci apparaît dans votre tableau de bord, avec une explication de la vulnérabilité et des conseils de correction. En outre, l’intégration Git peut également analyser les fichiers Dockerfile et effectuer des analyses avec Snyk Code. Pour en savoir plus sur les analyses Snyk Code d’applications Java avec l’intégration Git de Snyk, consultez cet article de blog : Résoudre les problèmes de sécurité Java dans mon application Spring MVC.

Tableau de bord d’analyse du code affichant les résultats d’une analyse de sécurité pour un dépôt, y compris les fichiers Dockerfile et pom.xml avec le nombre de vulnérabilités par niveau de gravité.

Plugins Maven et Gradle

Certaines personnes préfèrent automatiser les tests de sécurité pendant les builds. Bien sûr, vous pouvez le faire dans un pipeline CI. Toutefois, il peut être plus judicieux de l’intégrer à votre outil de build. Avec Maven ou Gradle, c’est à cette étape que vos dépendances sont récupérées et que l’artefact est créé. Pourquoi ne pas automatiser l’analyse de sécurité comme nous le faisons pour les tests unitaires ? Snyk propose un plugin Maven et un plugin Gradle. Il vous suffit d’une clé API, disponible avec votre compte gratuit.

Vous pouvez alors exécuter manuellement snyk test avec Maven ou Gradle, ou le relier à une tâche précise lors du build de votre application. Consultez les articles consacrés aux plugins Maven et Gradle pour Snyk.

Plugins Snyk pour les IDE Java

Certains développeurs préfèrent tout faire depuis leur IDE. Aujourd’hui, un IDE est en quelque sorte un couteau suisse, offrant une multitude d’options et de possibilités d’extension. Certains développeurs y passent pratiquement toute leur journée.

Dans le rapport sur l’écosystème JVM 2021, nous avons récemment constaté qu’IntelliJ IDEA, Eclipse et VS Code sont les trois IDE les plus utilisés pour le développement Java. Snyk propose des plugins IDE pour chacun d’eux.

Consultez les articles suivants pour en savoir plus sur chacun des plugins.

Commencer avec Snyk, c’est facile

Comme vous pouvez le constater, commencer avec Snyk et créer des applications Java sécurisées n’a rien de compliqué. Choisissez les options qui correspondent à votre façon de travailler pour développer rapidement tout en restant en sécurité. Sachez également que nous proposons de nombreuses intégrations pour différents pipelines CI/CD, si cette approche vous convient mieux. Dans tous les cas, Snyk offre aux développeurs Java tout ce dont ils ont besoin pour développer en toute sécurité dès le départ.

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.