De cero a héroe de la seguridad: analiza tus proyectos de GitHub para detectar vulnerabilidades conocidas
12 de noviembre de 2020
0 minutos de lectura¿Usas GitHub para tus proyectos? ¡Genial! Pero ¿cómo te aseguras de que tus dependencias de código abierto estén libres de vulnerabilidades?
En esta publicación, te guiaremos para crear una cuenta gratuita de Snyk, importar tu primer proyecto de GitHub a Snyk y analizar tus dependencias de código abierto para detectar vulnerabilidades conocidas. Si quieres, puedes seguir los pasos con nosotros: usaremos los mismos repositorios y la misma aplicación.
Si prefieres ver un video, aquí tienes una versión de 90 segundos de esta publicación en la que te guío por los mismos pasos para crear una cuenta nueva de Snyk, importar un proyecto de GitHub y analizarlo por primera vez.

¡Empecemos por el principio!
Necesito crear una cuenta nueva, así que voy a iniciar sesión en el sitio Snyk.io haciendo clic en la opción Iniciar sesión de la barra de menú, en la parte superior derecha de esta página. Luego, usaré mi cuenta de GitHub para iniciar sesión de forma federada, como se muestra a continuación:

Como parte de la creación de la cuenta, necesito darle permiso a Snyk para leer la dirección de correo electrónico asociada a mi cuenta de GitHub. Snyk enviará a esa dirección información relevante, como notificaciones de seguridad e informes de los proyectos que importe.
Veremos una lista de opciones populares para importar proyectos a Snyk y analizarlos en busca de vulnerabilidades, como se muestra a continuación:

Usa la fuente que tenga más sentido para tu entorno; el proceso es muy similar.
En mi caso, el proyecto que quiero analizar está en GitHub, así que seleccionaré esa opción. Quiero que Snyk analice mis proyectos con regularidad y cree automáticamente pull request de corrección en mi repositorio para que los problemas de seguridad se solucionen automáticamente. Para ello, tengo que otorgar permisos adicionales desde mi cuenta de GitHub. Lo haré aceptando las opciones predeterminadas, como se muestra en la siguiente captura de pantalla. Por supuesto, puedes desactivarlas si lo prefieres. Sin embargo, esto significa que no podrás usar las funciones más avanzadas y útiles de Snyk para crear pull request de corrección.

A continuación, tengo que seleccionar el proyecto goof de mi lista de repositorios de GitHub y agregarlo como proyecto a mi cuenta de Snyk. Si quieres seguir los pasos, tendrás que crear una bifurcación del proyecto goof de Snyk. Una vez que lo hagas, usa ese proyecto de tu propia lista de repositorios en los siguientes pasos. En la siguiente imagen, puedes ver que seleccioné el proyecto goof de la lista que Snyk encontró en mi cuenta de GitHub. Haré clic en Agregar repositorios seleccionados en la parte superior derecha de la pantalla para importarlo a Snyk.

Snyk leerá el archivo de manifiesto package.json del proyecto goof, ya que es un proyecto de Node.js, y creará un grafo de dependencias. Este incluye las dependencias directas que usa el proyecto goof y las dependencias transitivas de las que dependen esas dependencias directas.
El proceso continúa hasta construir el grafo completo de dependencias. Snyk analizará estas dependencias con la Snyk Vulnerability Database y nos proporcionará un informe completo. En el panel, podemos ver que se encontraron 60 problemas de seguridad en total, incluidas 31 vulnerabilidades de gravedad alta.
Se ve genial, ¿verdad? ¡Pruébalo hoy!
La próxima vez, analizaremos esta lista de vulnerabilidades con más detalle y te mostraremos cómo corregirlas mediante la creación automática de pull request de corrección.
Empieza con Capture the Flag
Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.


