Skip to main content

Adopta un enfoque shift-left responsable con los controles de seguridad mejorados de Snyk para pull requests

Escrito por

31 de marzo de 2020

0 minutos de lectura

Nos complace anunciar que mejoramos las pruebas de seguridad y licencias de Snyk para pull requests, a fin de brindar un mejor soporte a la seguridad shift-left y a los flujos de trabajo de desarrollo seguro.

Los pull requests —la base de los flujos de trabajo de desarrollo en GitHub— facilitan la colaboración en los proyectos. Cada colaborador puede compartir los cambios que subió a una rama de un repositorio, debatirlos con otros colaboradores y, posteriormente, confirmarlos e integrarlos en la rama base.

Snyk está diseñado para que los desarrolladores y los equipos de seguridad integren las pruebas de seguridad en estos flujos de trabajo, lo antes posible en el SDLC. Snyk prueba automáticamente los cambios incluidos en los pull requests para detectar vulnerabilidades de seguridad y problemas de licencias. Si se identifica un problema, la prueba de Snyk falla y se notifica al desarrollador mediante una comprobación de estado correspondiente. Para evitar que las pruebas de seguridad de Snyk para pull requests interfieran con los pipelines de desarrollo, los usuarios pueden decidir exactamente cuándo deben fallar las comprobaciones de estado; por ejemplo, solo ante problemas de gravedad alta o cuando haya una corrección disponible.

Las últimas mejoras en las pruebas de seguridad de Snyk para pull requests llevan esto un paso más allá. Para evitar aún más interrupciones innecesarias en los pipelines de desarrollo y brindar a los desarrolladores visibilidad total sobre los resultados de las pruebas de seguridad de Snyk, ahora pueden consultar todos los detalles sobre el motivo por el que falló su pull request y, luego, solicitar al administrador que omita la prueba y apruebe el pull request de todos modos.

Veamos cómo funciona con algunos ejemplos sencillos.

Comprobaciones de estado de Snyk para pull requests

Una vez que GitHub termina de comprobar si hay conflictos y ejecuta las comprobaciones en los archivos de manifiesto del proyecto (por ejemplo, package.json / package.lock, requirements.txt o Gemfile.lock / Gemfile), Snyk realiza las pruebas de seguridad. Si los cambios no introducen vulnerabilidades, la prueba se supera sin problemas:

Estado del pull request de GitHub que muestra que todas las verificaciones se aprobaron, no hay problemas de licencias, las pruebas de seguridad fueron exitosas y no hay conflictos con la rama base

Por otro lado, si los cambios introducen vulnerabilidades, las comprobaciones de estado de Snyk hacen que falle el pull request. En el siguiente ejemplo, la inclusión de una dependencia provocó que fallaran las pruebas de seguridad de Snyk:

Estado de pull request de GitHub que muestra una verificación de seguridad fallida, una verificación de licencia exitosa y una opción para fusionar

Sin importar cuántos proyectos (y archivos de manifiesto relacionados) haya en un repositorio, solo se muestran dos comprobaciones de estado de Snyk: una para las pruebas de seguridad y otra para las comprobaciones de licencias. Esto resulta especialmente útil en los monorepos, ya que reduce la cantidad de comprobaciones de estado que Snyk genera para los proyectos integrados.

Los administradores pueden configurar las pruebas de seguridad de Snyk para pull requests para que sean más estrictas o flexibles. Por ejemplo, se puede configurar que las pruebas fallen si el repositorio tiene vulnerabilidades existentes o solo cuando se introduzcan vulnerabilidades de gravedad alta.

Configuración de pruebas de seguridad para pull requests, que muestra las verificaciones habilitadas y las condiciones configurables de falla para dependencias y correcciones de problemas

Omitir las pruebas de seguridad fallidas

Ver comprobaciones de estado fallidas en los pull requests puede ser frustrante para los desarrolladores, sobre todo cuando no incluyen información contextual sobre el motivo del fallo. Snyk ofrece visibilidad sobre las vulnerabilidades y los problemas de licencias detectados durante las pruebas, además de la posibilidad de omitir la prueba fallida y aprobarla de todos modos.

Si un pull request no supera las pruebas de Snyk, los usuarios pueden consultar los motivos haciendo clic en el enlace Detalles que aparece junto al estado de la comprobación fallida. Esto los lleva a la aplicación de Snyk, donde se muestra toda la información sobre el motivo del fallo en la página Estado combinado:

Panel de Snyk que muestra las verificaciones fallidas y los resultados de las pruebas de seguridad de un proyecto, con una flecha que señala la notificación de verificación fallida.

Se muestran todas las comprobaciones pertinentes realizadas para el proyecto, junto con información sobre los resultados y su estado: «Error» para las pruebas que no se pudieron completar, «Fallida» para las pruebas que fallaron debido a problemas detectados, «En curso» para las pruebas que aún se están ejecutando y «Correcta» para las pruebas superadas.

Los usuarios identificados como colaboradores pueden solicitar a un administrador de Snyk que apruebe una o varias de las pruebas que se muestran en esta página.

Resultados de la revisión de seguridad de Snyk para danielberman79/mono-repo: ocho archivos y un error con 32 vulnerabilidades nuevas.

Los administradores pueden hacer clic en el botón Marcar como correcto en SCM para aprobar la solicitud. El estado se actualiza automáticamente en GitHub.

Resultados de las comprobaciones de seguridad de Snyk para danielbernan79/mono-repo: se muestra una comprobación fallida y un botón «Marcar como exitosa en SCM».

Cada acción de omisión realizada para aprobar una prueba de seguridad fallida queda registrada para futuras consultas, junto con información de auditoría sobre quién la realizó y cuándo, además de un enlace a la página Estado combinado.

Un enfoque shift-left supervisado

Desplazar la seguridad hacia la izquierda es una piedra angular para implementar con éxito una estrategia DevSecOps, pero debe hacerse de manera responsable. Para lograrlo, hay que ayudar a los desarrolladores a integrar la seguridad en los flujos de trabajo de desarrollo existentes de manera fluida y sin obstáculos, con el nivel adecuado de supervisión.

Las pruebas de seguridad mejoradas de Snyk para pull requests brindan a los desarrolladores visibilidad temprana y completa sobre las pruebas de seguridad automatizadas que se ejecutan en sus pull requests, además de la posibilidad de solicitar que se aprueben las pruebas fallidas. Además, los equipos de seguridad tienen el control necesario para eliminar los bloqueos de forma segura.

¿Quieres probar estas funciones? Están disponibles en todos los planes de Snyk, incluido el plan Free.

Comienza con Capture the Flag

Aprende a resolver desafíos de Capture the Flag con nuestro taller virtual 101 a pedido.

Publicado en:

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.

Blog

Por qué los agentes de programación con IA siguen generando fallas de control de acceso

Los agentes de programación con IA pueden generar lógica de autorización que compila y supera la revisión, pero expone los datos de un inquilino a otro. Descubre por qué es difícil detectar el control de acceso roto y cómo prevenirlo.

Blog

Evo ADS Govern Agent Behavior ya está disponible: controla el uso de MCP

Evo ADS Govern Agent Behavior ya está disponible, comenzando con MCP Governance. Descubre, aprueba, monitorea, registra y bloquea el uso de servidores MCP en los principales agentes de programación con IA.