Skip to main content

De cero a héroe de la seguridad: analiza tus proyectos de GitHub para detectar vulnerabilidades conocidas

Escrito por
prioritize vulns

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.

Getting Started with Snyk: Import and Test a GitHub Repository

¡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:

Pantalla de registro gratuito con GitHub o Google y opciones de SSO, Bitbucket, Azure AD y Docker ID.

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:

Captura de pantalla que pregunta dónde está alojado el código y muestra las opciones de GitHub y Bitbucket Cloud para analizar las dependencias del proyecto.

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.

Pantalla de acceso al repositorio de GitHub con opciones para repositorios públicos y privados o solo públicos, opciones de seguridad de Snyk y un botón para continuar.

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.

Pantalla de selección de repositorios de GitHub en Snyk que muestra la organización simonsnyk con goof seleccionado, junto a go-sample y exploit-workshop.

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.

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.

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.

Live Stream

Agentes de remediación, sin misterios: por qué solucionar es mejor que encontrar

Descubre cómo el agente de remediación de Snyk utiliza inteligencia de seguridad, análisis de explotabilidad y validación para convertir las vulnerabilidades en solicitudes de incorporación de cambios listas para fusionarse.