Skip to main content

Ayudamos a los desarrolladores de Python a integrar la seguridad desde el inicio con un nuevo plugin para PyCharm

Escrito por
Python feature

8 de septiembre de 2020

0 minutos de lectura

Nos alegra anunciar el nuevo plugin de Snyk para PyCharm, que ayuda a los desarrolladores de Python a encontrar y corregir problemas de seguridad y licencias en sus dependencias de código abierto desde las primeras líneas de código.

Abordar las vulnerabilidades desde el IDE es una parte importante de integrar la seguridad desde el inicio y permite que los desarrolladores asuman más responsabilidad por la seguridad como parte de sus flujos de trabajo habituales. El informe de ESG «Modern Application Development Security» de 2020 destaca esta capacidad como uno de los 10 elementos clave de un programa AppSec eficaz.

Este nuevo plugin para PyCharm complementa la lista actual de integraciones de Snyk con IDE para IntelliJ y Eclipse. Así, ofrece a los desarrolladores una amplia cobertura en distintos ecosistemas y les permite integrar la seguridad lo antes posible.

Snyk para Python

Como uno de los lenguajes de programación más populares en la actualidad, no sorprende que Snyk monitoree miles de proyectos de Python al mes. Ayudar a nuestros usuarios de Python y a toda la comunidad de Python a mantener sus aplicaciones seguras y en cumplimiento es una prioridad para nosotros. Por eso, hemos invertido continuamente en incorporar nuevas capacidades y mejorar las existentes.

Las aplicaciones de Python se pueden probar mediante la CLI o con nuestras integraciones basadas en Git para GitHub, Bitbucket y Gitlab. A principios de este año, agregamos la corrección automatizada, que ayuda a los desarrolladores de Python no solo a encontrar vulnerabilidades, sino también a corregirlas rápidamente con pull requests automáticos de fic que se activan cuando se detecta una nueva vulnerabilidad.

Ofrecer una integración nativa para PyCharm era el siguiente paso. PyCharm es la herramienta más popular para desarrollar en Python (con una participación combinada del 54 % entre las ediciones Professional y Community, según la encuesta State of Developer Ecosystem de JetBrains de 2020). Queríamos asegurarnos de que los desarrolladores de Python pudieran integrar fácilmente las pruebas de seguridad y cumplimiento de licencias en su herramienta de desarrollo favorita.

Funciones clave del plugin para PyCharm

El plugin de Snyk para PyCharm identifica vulnerabilidades de seguridad y problemas de cumplimiento de licencias en tus dependencias de código abierto. Se ejecuta automáticamente y destaca los problemas en el IDE para que puedas corregirlos rápidamente.

  • Fácil de usar: puedes instalar el plugin fácilmente desde PyCharm o desde el marketplace.

  • Integral y práctico: los resultados muestran tanto vulnerabilidades de seguridad como problemas de licencias, junto con información contextual y práctica para corregirlos. El plugin es compatible con Pip, pipenv y PyPi.

  • Preciso: el plugin se basa en la CLI de Snyk, que analiza tus dependencias y relaciona los hallazgos con la base de datos de vulnerabilidades Snyk Intel, la base de datos de vulnerabilidades más completa, actualizada y precisa del mercado.

Primeros pasos

El plugin de Snyk para PyCharm es gratis, pero necesitas ser usuario de Snyk para usarlo.

Antes de empezar, asegúrate de haber iniciado sesión en la aplicación de Snyk y de haber instalado las dependencias de Python.

Para instalar el plugin desde PyCharm, ve a Preferences †’ Plugins y busca Snyk.

Marketplace de plugins de PyCharm que muestra la ficha del plugin Snyk Vulnerability Scanner y el botón Instalar

Haz clic en el botón Install: PyCharm descarga e instala la versión más reciente de la CLI de Snyk y aparece una nueva pestaña de Snyk en la parte inferior de PyCharm.

PyCharm muestra un archivo requirements.txt de Python con la pestaña de Snyk resaltada en la barra inferior de ventanas de herramientas.

Antes de iniciar el primer análisis, asegúrate de autenticar tu cuenta de Snyk. Para hacerlo, solo tienes que obtener tu token de API desde Snyk y agregarlo en la configuración del plugin, en Preferences > Tools> Snyk:

Ventana de preferencias de PyCharm que muestra Herramientas > configuración de Snyk, con campos para el token, el punto de conexión personalizado, la organización y los parámetros adicionales.

Una vez que te hayas autenticado, abre la pestaña de Snyk y haz clic en el botón Scan para iniciar las pruebas de seguridad de Snyk. En unos segundos, si el plugin detecta vulnerabilidades, aparecerá una lista de problemas:

Plugin de Snyk en PyCharm que muestra 17 vulnerabilidades en un archivo requirements.txt de Python, incluida una vulnerabilidad de secuencias de comandos entre sitios de gravedad media.

Los resultados del análisis incluyen mucha información para facilitar una corrección rápida, como el nivel de gravedad de la vulnerabilidad (según CVSS) y su título y tipo. Los detalles adicionales muestran cómo se introdujo la vulnerabilidad e información sobre los exploits disponibles en circulación; además, una descripción general explica cómo se puede explotar.

Para corregir la vulnerabilidad, el plugin de Snyk te recomienda la actualización necesaria. Snyk siempre recomendará la ruta mínima necesaria para corregir el problema específico y reducir al mínimo el riesgo de interrupciones.

Un enlace al final de los detalles del problema te lleva a la base de datos de vulnerabilidades de Snyk, donde puedes consultar más información, como el CVE, el CWE, la puntuación CVSS y otros datos:

Página de vulnerabilidades de Snyk que muestra un problema de ejecución de código arbitrario de gravedad alta que afecta al paquete numpy de Python, con una puntuación CVSS de 9.8.

Notas finales

Esta es la primera versión del plugin y tenemos previsto incorporar más mejoras próximamente. Mientras tanto, no dudes en enviarnos tus comentarios para que podamos priorizar el próximo conjunto de funciones.

¡Feliz programación!

Leer más

feature insights context
Blog

Los ataques autónomos ya están aquí. La defensa debe estar a su altura.

Los atacantes autónomos están reduciendo el tiempo disponible para defenderse. Descubre cómo el descubrimiento, la corrección, la validación y la prevención continuos pueden ayudar a los equipos de seguridad a seguirles el ritmo.

illustration hero ai
Blog

El huracán de la IA ha llegado

La IA está acelerando por igual la creación de software y los ciberataques. Los líderes deben proteger los agentes y el código desde el inicio, aplicar controles en tiempo de ejecución y validar las defensas de forma independiente.

feature insights context
Blog

¿La prevención es, en esencia, un problema ya resuelto?

La prevención en el código generado por agentes está resuelta desde el punto de vista arquitectónico, pero elegir controles que protejan la seguridad sin ralentizar el desarrollo sigue siendo el desafío.