Skip to main content

Automatiza el análisis de vulnerabilidades en AWS CodePipeline con Snyk

Escrito por
Headshot of Jay Yeras

Jay Yeras

blog hero aws codepipeline snyk

8 de junio de 2021

0 minutos de lectura

La misión de Snyk siempre ha sido ayudar a los desarrolladores a crear software de forma segura. Te ayudamos a encontrar y corregir vulnerabilidades de seguridad en tu código y en tus dependencias de código abierto, y permitimos que los equipos de desarrollo integren fácilmente las pruebas de seguridad en sus pipelines automatizados de entrega. Snyk también ofrece integraciones nativas con las principales plataformas de CI/CD, como Jenkins, TeamCity y CircleCI.

Con ese objetivo, nos complace anunciar la nueva integración de Snyk con AWS CodePipeline. Como parte de la suite de herramientas para desarrolladores de AWS, AWS CodePipeline permite a las organizaciones entregar funciones a los usuarios rápidamente mediante la automatización del proceso de lanzamiento de software.

Con esta nueva integración, los desarrolladores de AWS CodePipeline ya no necesitan salir de la consola para analizar vulnerabilidades. Los análisis de seguridad automatizados de Snyk Open Source están disponibles directamente en AWS. Además, esta integración evita la necesidad de integrarse con otras herramientas de desarrollo, como AWS CodeCommit.

Como parte del servicio de entrega continua, Snyk permite a los usuarios de AWS CodePipeline automatizar la seguridad durante las etapas de compilación, prueba e implementación. Como socios, AWS y Snyk ayudan a sus usuarios y clientes en común a integrar la seguridad de forma más sencilla y eficaz en sus pipelines modernos y automatizados de CI/CD.

Primeros pasos con AWS CodePipeline

Puedes iniciar la integración de Snyk con AWS CodePipeline directamente desde la consola de AWS CodePipeline. Si aún no tienes una cuenta de Snyk, puedes registrarte gratis.

Desde la consola de AWS CodePipeline, puedes agregar Snyk a un pipeline nuevo o existente en unos pocos pasos. Después de la etapa Source, puedes agregar una etapa Scan en cualquier momento. Haz clic en Edit y agrega una etapa Scan. Luego, haz clic en Add an Action Group para abrir la ventana Edit Action. Aquí puedes asignarle un nombre a la acción, hacer clic en la flecha desplegable de Action Provider, seleccionar Snyk y hacer clic en Connect with Snyk para iniciar el proceso de conexión.

Cuadro de diálogo de edición de acciones de AWS CodePipeline que muestra Snyk resaltado en la lista de proveedores de acciones para una acción de análisis
Snyk ya está disponible en la lista desplegable de proveedores de acciones de AWS CodePipeline.

A continuación, tendrás que ingresar tus credenciales de Snyk para dar permiso a AWS CodePipeline para que comience a analizar tu código de código abierto.

Configuración de la acción de Snyk en AWS CodePipeline con una ventana de inicio de sesión de Snyk que ofrece opciones para iniciar sesión con GitHub, Bitbucket, Google, SSO y Azure AD

Una vez que hayas conectado Snyk, puedes configurar la integración con umbrales de gravedad para los informes de problemas. Por ejemplo, puedes elegir que las compilaciones fallen solo por vulnerabilidades de gravedad alta. También puedes analizar todo el código de tu aplicación o enfocarte en los manifiestos de código.

Cuadro de configuración de Snyk para AWS CodePipeline que muestra la selección de la organización, los niveles de gravedad y un botón para continuar

Análisis de los resultados 

Cuando comienza un análisis, Snyk analiza el archivo de manifiesto de la aplicación y compara la lista de dependencias con la base de datos de vulnerabilidades de Snyk. Al finalizar, los resultados del análisis aparecen de inmediato en AWS CodePipeline, donde puedes ver los problemas detectados y cómo corregirlos desde la consola.

Resultados del análisis de la canalización de AWS: análisis exitoso, detalles de configuración y resultados de la actualización de una imagen base de Node.js
Descripción general del proyecto en Snyk que muestra 78 problemas, incluida una vulnerabilidad de escritura arbitraria de archivos en adm-zip de gravedad alta.

Snyk ofrece informes detallados sobre tu código de código abierto. Puedes ir a Projects y elegir View Report para establecer la frecuencia con la que se comprueba si el proyecto tiene vulnerabilidades.

Desde View Report, también puedes seleccionar la pestaña Dependencies para ver qué dependencias de código abierto se usan para crear la aplicación. Al analizar el archivo de manifiesto de la aplicación, Snyk crea un árbol completo de dependencias e identifica con precisión tanto las directas como las transitivas (las transitivas representan el 78 % de las vulnerabilidades detectadas por Snyk). Así, Snyk puede mostrar exactamente cómo se introdujo una vulnerabilidad en la aplicación.

Snyk ofrece recomendaciones de corrección que reducen considerablemente la cantidad de vulnerabilidades en tu código de código abierto con cambios mínimos. A menudo hay varias bibliotecas alternativas disponibles, pero Snyk recomienda la mejor versión de dependencia para eliminar la mayor cantidad de vulnerabilidades. Snyk también ayuda a corregir problemas en dependencias transitivas con la menor cantidad posible de actualizaciones de dependencias directas. Esto puede acelerar considerablemente el proceso de clasificación de problemas para los desarrolladores, sin introducir problemas de compatibilidad.

En la consola de AWS CodePipeline, también puedes revisar los datos de vulnerabilidades organizados por puntaje de prioridad, exploits conocidos y muchas otras características. Puedes filtrar los resultados para mostrar solo los problemas de gravedad alta, las vulnerabilidades que tienen una corrección disponible u otras opciones que te ayuden a priorizar tus esfuerzos de corrección.

La colaboración continua de Snyk con AWS DevOps

AWS es un socio importante para ayudar a Snyk a cumplir nuestra misión de priorizar la seguridad de los desarrolladores. Muchos compradores de tecnología tienen una larga trayectoria y confían en el ecosistema de AWS. La relación entre AWS y Snyk comenzó con la fundación de nuestra empresa en 2015 y se ha fortalecido día a día. Snyk se enorgullece de ser socio de nivel avanzado de APN, socio de lanzamiento del APN Global Startup Program y cliente de AWS.

Además, hace poco anunciamos integraciones con la suite de herramientas de AWS relacionadas con Kubernetes, Amazon Elastic Container Registry (ECR) y Amazon Elastic Kubernetes Service (EKS). Estas integraciones te permiten analizar contenedores de Kubernetes con Snyk sin salir de la consola de AWS.

Además de Kubernetes, Snyk ofrece integraciones de productos con soluciones de AWS DevOps, serverless y contenedores. Y en las próximas semanas y meses, puedes esperar más soluciones de productos integradas y contenido técnico útil de AWS y Snyk. Descubre más en nuestra página dedicada a AWS.

Juntos, AWS y Snyk han facilitado al máximo la detección y corrección de vulnerabilidades en el código de código abierto alojado en AWS CodePipeline. Esta integración fácil de usar permite detectar problemas de forma temprana y acelerar todo el ciclo de vida del desarrollo de software (SDLC). Ahora, tu organización puede seguir mejorando su postura de seguridad sin generar fricciones para los desarrolladores.

¿Quieres obtener más información sobre el análisis de workflows de AWS CodePipeline? Consulta nuestra documentación completa para comenzar.

Empieza con los desafíos de Capture the Flag

Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.