Skip to main content

Aider les développeurs Python à intégrer la sécurité dès le début avec un nouveau plugin PyCharm

Écrit par
Python feature

8 septembre 2020

0 minutes de lecture

Nous sommes ravis d’annoncer le tout nouveau plugin PyCharm de Snyk, qui aide les développeurs Python à détecter et corriger les problèmes de sécurité et de licence dans leurs dépendances open source dès les premières lignes de code !

La détection des vulnérabilités dans l’IDE est un élément essentiel pour intégrer la sécurité dès le début et permettre aux développeurs d’assumer davantage de responsabilités en matière de sécurité dans le cadre de leurs workflows habituels. Le rapport « Modern Application Development Security » de 2020 publié par ESG présente cette capacité comme l’un des 10 éléments clés d’un programme AppSec efficace.

Ce nouveau plugin PyCharm vient compléter les intégrations IDE déjà proposées par Snyk pour IntelliJ et Eclipse. Il offre aux développeurs une large couverture de différents écosystèmes et leur permet d’intégrer la sécurité le plus tôt possible.

Snyk pour Python

Python étant l’un des langages de programmation les plus populaires aujourd’hui, il n’est pas surprenant que Snyk surveille des milliers de projets Python chaque mois. Aider nos utilisateurs de Python — et l’ensemble de la communauté Python — à sécuriser leurs applications et à assurer leur conformité est une priorité absolue. Nous investissons continuellement dans l’ajout de nouvelles fonctionnalités et l’amélioration de celles qui existent déjà.

Les applications Python peuvent être testées via la CLI ou grâce à nos intégrations basées sur Git pour GitHub, Bitbucket et Gitlab. Plus tôt cette année, nous avons ajouté la prise en charge de la correction automatisée : les développeurs Python peuvent ainsi non seulement détecter les vulnérabilités, mais aussi les corriger rapidement grâce à des pull requests de correction automatiques générées lorsqu’une nouvelle vulnérabilité est détectée.

La prochaine étape consistait à proposer une intégration native avec PyCharm. PyCharm étant l’outil le plus populaire pour le développement Python (avec une part cumulée de 54 % pour les éditions Professional et Community, selon l’enquête JetBrains 2020 sur l’état de l’écosystème des développeurs), nous voulions permettre aux développeurs Python d’intégrer facilement les tests de sécurité et de conformité des licences à leur outil de développement favori.

Fonctionnalités clés du plugin PyCharm

Le plugin PyCharm de Snyk détecte les vulnérabilités et les problèmes de conformité des licences dans vos dépendances open source. Il s’exécute automatiquement et met les problèmes en évidence dans l’IDE pour vous permettre de les corriger rapidement.

  • Facile à utiliser : le plugin s’installe facilement depuis PyCharm ou via la marketplace.

  • Complet et exploitable : les résultats indiquent les vulnérabilités et les problèmes de licence, ainsi que des informations contextuelles et des conseils de correction. Le plugin prend en charge Pip, pipenv et PyPi.

  • Précis : le plugin repose sur la CLI Snyk, qui analyse vos dépendances et recoupe les résultats avec la base de données des vulnérabilités Snyk Intel, la base de données sur les vulnérabilités la plus complète, à jour et précise du marché.

Pour commencer

Le plugin Snyk pour PyCharm est gratuit, mais vous devez être un utilisateur de Snyk pour l’utiliser.

Avant de commencer, vérifiez que vous êtes connecté à l’application Snyk et que vos dépendances Python sont installées.

Pour installer le plugin depuis PyCharm, accédez à Préférences †’ Plugins, puis recherchez Snyk.

Marketplace des plugins PyCharm affichant la fiche du plugin Snyk Vulnerability Scanner et le bouton Installer

Cliquez sur le bouton Installer : PyCharm télécharge et installe la dernière version de la CLI Snyk, et un nouvel onglet Snyk apparaît en bas de la fenêtre PyCharm.

PyCharm affiche un fichier requirements.txt Python, avec l’onglet Snyk mis en évidence dans la barre des fenêtres d’outils en bas.

Avant de lancer votre première analyse, pensez à authentifier votre compte Snyk. Pour cela, récupérez votre jeton API dans Snyk et ajoutez-le dans les paramètres du plugin, à l’emplacement Préférences > Outils > Snyk :

Fenêtre des préférences de PyCharm affichant les paramètres Tools > Snyk, avec les champs du jeton, du point de terminaison personnalisé, de l’organisation et des paramètres supplémentaires.

Une fois l’authentification réussie, ouvrez l’onglet Snyk et cliquez sur le bouton Analyser pour lancer les tests de sécurité de Snyk. En quelques secondes, si le plugin détecte des vulnérabilités, une liste de problèmes s’affiche :

Plugin Snyk dans PyCharm affichant 17 vulnérabilités dans un fichier requirements.txt Python, dont une vulnérabilité de gravité moyenne liée aux scripts intersites.

Les résultats de l’analyse contiennent de nombreuses informations pour faciliter une correction rapide, notamment le niveau de gravité de la vulnérabilité (selon le CVSS) et son titre/type. Des précisions sur la vulnérabilité expliquent comment elle a été introduite et indiquent les exploits disponibles dans la nature, tandis qu’un aperçu décrit comment elle peut être exploitée.

Pour vous aider à corriger la vulnérabilité, le plugin Snyk recommande la mise à niveau nécessaire. Snyk préconise toujours le chemin de mise à niveau minimal permettant de corriger le problème, afin de réduire au maximum les risques de régression.

Un lien au bas des détails du problème vous mène à la base de données des vulnérabilités de Snyk, où vous trouverez d’autres informations, comme le CVE, le CWE, le score CVSS et bien plus encore :

Page des vulnérabilités Snyk présentant une vulnérabilité critique d’exécution de code arbitraire affectant le package Python numpy, avec un score CVSS de 9,8.

Notes de fin

Il s’agit de la première version de ce plugin, et nous prévoyons d’y apporter d’autres améliorations prochainement. En attendant, n’hésitez pas à nous faire part de vos commentaires afin que nous puissions définir les prochaines fonctionnalités à développer !

Bon code !

Publié dans:

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.

illustration hero ai
Blog

L’ouragan de l’IA est là

L’IA accélère à la fois la création de logiciels et les cyberattaques. Les dirigeants doivent sécuriser les agents et le code dès leur conception, appliquer des contrôles à l’exécution et valider les défenses de manière indépendante.

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.