Skip to main content

Snyk in 30: demostración de seguridad centrada en los desarrolladores

Escrito por
blog feature webinar

2 de marzo de 2023

0 minutos de lectura

En nuestra más reciente demostración de Snyk in 30, mostré cómo trabajar en una aplicación, desde el IDE hasta la aplicación en vivo desplegada en la nube. En el proceso, mostré cómo Snyk se integra con las herramientas que podría usar un desarrollador en su día a día. En particular, me enfoqué en los aspectos prácticos de implementar Snyk en un entorno real de desarrollo y nube, y respondí preguntas como estas: 

  • ¿Cómo hacemos que la seguridad sea lo más sencilla posible para los desarrolladores?

  • ¿Cómo usamos las herramientas de Snyk en conjunto, sin generar alertas redundantes ni ruido innecesario?

  • ¿Cómo se ve Snyk desde la perspectiva de los desarrolladores y de los equipos de seguridad?

La seguridad debe priorizar a los desarrolladores

“Ve a donde están los peces” es un antiguo dicho empresarial que nos recuerda que debemos ir a donde están nuestros clientes. Si formas parte de un equipo de seguridad que ayuda a los desarrolladores a encontrar y corregir problemas, ve a donde ellos están: a sus herramientas y flujos de trabajo. También es importante mostrarles información útil que puedan poner en práctica. 

Este es un desafío particular al trabajar con aplicaciones modernas. A menudo, cada parte de una aplicación se define en código: sus procesos de compilación y pruebas, cómo está diseñada para ejecutarse y la infraestructura que necesita. Si bien esto permite que las implementaciones sean más rápidas, repetibles y resilientes, también hace que las cadenas de suministro de software sean mucho más complejas y dinámicas que hace unas décadas. 

Al combinar todos estos factores, los equipos de seguridad se enfrentan al gran desafío de encontrar una forma de proteger todas estas piezas cambiantes que los equipos de desarrollo, ya de por sí ocupados, acepten e implementen. Aquí es donde entra en juego la idea de la seguridad que prioriza a los desarrolladores. En lugar de esperar que los desarrolladores abandonen sus flujos de trabajo y entornos diarios, las herramientas de seguridad que los priorizan se enfocan en darles la capacidad de corregir los problemas de seguridad donde trabajan, a lo largo de todo el proceso del código a la nube. “Ve a donde están los peces”. 

Obtén más información aquí sobre cómo la seguridad de aplicaciones (AppSec) mejora la seguridad en general.

En Snyk, nos hemos enfocado en hacer que nuestras herramientas de seguridad sean accesibles y fáciles de usar para los equipos de desarrollo. Ayudamos a los desarrolladores a encontrar y corregir problemas de seguridad mientras trabajan en sus proyectos: cuando escriben código y diseñan la aplicación en el IDE, confirman el código y lo guardan en repositorios, integran cambios en la rama principal y, luego, continúan con los pipelines y la nube. Esto fue lo que vimos sobre cada uno de estos pasos durante esta demostración de Snyk: 

Proteger el código durante el desarrollo

El lugar más eficiente y económico para encontrar y corregir un problema de seguridad es justo cuando se introduce. A los desarrolladores les resulta más fácil hacer cambios mientras escriben código y deciden qué paquetes de terceros usar. Se trata de guiarlos para que corrijan los problemas mientras tienen el código frente a ellos. 

Mostré cómo funciona la herramienta de pruebas estáticas de seguridad de aplicaciones (SAST) de Snyk en los IDE, donde analiza el código en segundos para que los desarrolladores puedan seguir trabajando con rapidez. También sincroniza en el IDE las recomendaciones de corrección y la información sobre cada vulnerabilidad detectada, para que los desarrolladores sepan cómo se introdujo el problema de seguridad, cómo se propaga por el código y qué deben hacer para corregirlo.

Análisis de dependencias de terceros centrado en los desarrolladores

Mientras revisamos el código propio, también podemos proteger las dependencias de terceros. La herramienta de análisis de composición de software (SCA) de Snyk crea un gráfico integral de los paquetes de terceros que se usan en la aplicación y sus dependencias transitivas. Luego, identifica qué componentes no son seguros. Ya sea que se trate de un paquete que agregó el desarrollador o de una dependencia de otra dependencia, Snyk le muestra el lugar adecuado para hacer un cambio y corregir la vulnerabilidad. Al agregar paquetes, los desarrolladores también pueden consultar una puntuación de recomendación, que indica factores que podrían hacer que el paquete deje de ser seguro en el futuro, incluso si actualmente no tiene vulnerabilidades. Calculamos esta puntuación considerando factores como el tamaño de la comunidad del componente y su popularidad, que son buenos indicadores para predecir si un paquete de código abierto será adecuado para la aplicación a largo plazo. 

En la demostración, me enfoqué principalmente en el código de la aplicación en el IDE.  Snyk también puede analizar archivos YAML de Kubernetes, configuraciones de IaC e incluso contenedores durante el desarrollo en tiempo real, y ofrecer recomendaciones de corrección similares y orientadas a los desarrolladores.

Automatizar la seguridad en el pipeline

Cuando el código está listo, se confirma, se envía a los repositorios y queda listo para integrarse. Snyk se integra con repositorios de código como GitHub, GitLab y Bitbucket. Esto no solo agrega otra capa de seguridad, sino que también monitorea el código —incluso cuando no está en desarrollo activo— y detecta nuevas vulnerabilidades de día cero. Snyk también ofrece uno de los análisis más sencillos y prácticos: la verificación de PR. Si un desarrollador guarda y confirma un componente no seguro, nuestras herramientas lo señalan en el pull request. Configuramos estas verificaciones automáticamente al integrar un repositorio, así que el equipo de desarrollo no tiene que hacer nada. También revisamos los cambios en el código para asegurarnos de que no introduzcan nuevas vulnerabilidades. Estas verificaciones integradas garantizan que los nuevos cambios no generen nuevos problemas.

La integración con los repositorios también nos permite ayudar a corregir los problemas rápidamente mediante la creación de PR. Podemos corregir una sola vulnerabilidad, muchas vulnerabilidades a la vez o actualizar componentes obsoletos con un PR de corrección. Si los equipos confían en sus procesos de pruebas, estas correcciones pueden automatizarse por completo.

Seguridad de contenedores y el problema del ruido

Hoy en día, los contenedores son una de las formas más populares de empaquetar y ejecutar aplicaciones. Si bien son excelentes para ganar velocidad y evitar el problema de “en mi máquina sí funciona”, pueden generar ruido en los análisis de seguridad. “Ir a donde están los peces” está muy bien, pero si arrojas una roca de 90 kilos al lago, los espantarás. Snyk resuelve este problema de ruido con sus verificaciones de seguridad para contenedores.

En la demostración, mostré el resultado típico del análisis de un contenedor para mi aplicación: más de 700 vulnerabilidades. Luego, demostré cómo Snyk recomienda acciones que los desarrolladores pueden tomar sin tener que revisar todas esas vulnerabilidades. Primero, mostré cómo seleccionar una imagen principal (o imagen base) para usar como punto de partida. Vimos cómo Snyk ofrece recomendaciones para que, como desarrollador, pueda hacer un solo cambio en mi Dockerfile, elegir una mejor imagen principal y resolver cientos de problemas. 

Luego, vimos otro proceso de compilación que usan muchas empresas, en el que un equipo central (de plataforma o DevOps) selecciona un conjunto interno de imágenes base “doradas” que quiere que usen los desarrolladores. En la demostración, mostramos cómo Snyk puede guiarlos para que usen estas imágenes doradas y vimos cómo esto les permite enfocarse en las vulnerabilidades que podrían agregar al contenedor, en lugar del ruido proveniente de una imagen principal.

Seguridad de implementación centrada en los desarrolladores

Con nuestras herramientas de infraestructura en la nube, los desarrolladores también pueden asegurarse de que sus configuraciones en la nube sean seguras. Como mencioné, podemos ejecutar estos análisis en el IDE. En la demostración, usé la CLI de Snyk para analizar la configuración de Terraform. Una vez más, los análisis de IaC tienden a generar mucho ruido. Cuando solo analizas el archivo de configuración, asumes el peor escenario y muestras todos los problemas posibles. Sin embargo, las cosas cambian cuando combinas los análisis de IaC con el contexto del entorno de nube en vivo. En la demostración, vimos una aplicación con un bucket de almacenamiento de AWS S3. Al analizar únicamente IaC, recibí 4 advertencias sobre configuraciones de seguridad incorrectas para el bucket de S3. Sin embargo, en mi entorno de nube en vivo, tengo una política controlada de forma centralizada que ignora esas configuraciones no seguras y garantiza la seguridad de todos los buckets de S3. En este caso, Snyk combinó el análisis de IaC con el contexto de la nube para eliminar las alertas irrelevantes y enfocarse en problemas de configuración más importantes. Y como Snyk unifica la nube y la IaC, los equipos de seguridad solo necesitan administrar un motor de políticas unificado para cubrir todo el entorno de implementación.

¡Snyk también está diseñado para los equipos de seguridad!

Aunque dediqué gran parte de mi tiempo a los aspectos de Snyk que priorizan a los desarrolladores, en esta demostración también vimos cómo los equipos de seguridad usan nuestra herramienta. Snyk ofrece visibilidad e informes centralizados de todas estas vulnerabilidades: cada aplicación y cada parte del código. Los equipos de seguridad pueden consultar los detalles de los problemas en la nube o el código, y desglosarlos por marco de cumplimiento, entorno o problema específico. Luego, pueden guardar las vistas de informes más útiles y exportarlas o compartirlas mediante enlaces. 

Mira esta demostración de Snyk in 30 para obtener más información

Si quieres ver estas herramientas en acción, mira la demostración completa de Snyk in 30. Además, como complemento a todo lo que mencioné, los asistentes hicieron varias preguntas interesantes durante la sesión de preguntas y respuestas. En los últimos minutos de la transmisión web, tuvimos la oportunidad de hablar sobre lo siguiente:

  • Las medidas de seguridad internas de Snyk al trabajar con el código de sus clientes

  • Más información sobre nuestra colaboración en pruebas dinámicas de seguridad de aplicaciones (DAST)

  • Más detalles técnicos sobre cómo nos integramos con los entornos de desarrollo

Si quieres obtener más información sobre nuestra plataforma que prioriza a los desarrolladores y profundizar en esta sesión de preguntas y respuestas, mira la presentación aquí.

Empieza con Capture the Flag

Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.