Skip to main content

Cómo implementar DevSecOps de extremo a extremo en Microsoft Azure con Snyk

Escrito por

26 de mayo de 2020

0 minutos de lectura

Nos complace anunciar que agregamos compatibilidad con Azure Repos Server, lo que permite a los desarrolladores que usan el servicio DevOps local de Azure identificar y corregir vulnerabilidades de seguridad y problemas de licencias en dependencias de código abierto.

La nueva integración complementa nuestra compatibilidad en todo el ecosistema de Microsoft Azure: desde Azure Repos (en la nube y ahora también en las instalaciones) hasta Azure Pipelines, Azure Container Registry y Azure Functions. Así ayudamos a los usuarios de Azure a implementar DevSecOps durante todo el ciclo de vida del desarrollo de software.

Azure Repos Server forma parte de Azure DevOps Server, antes conocido como Team Foundation Server (TFS): un conjunto de herramientas colaborativas de desarrollo de software alojadas en las instalaciones. Permite a los desarrolladores administrar localmente su flujo de trabajo de desarrollo con Git, pull requests y administración avanzada de archivos.

La nueva integración permite a los desarrolladores que usan Azure Repos Server:

  • Detectar vulnerabilidades existentes en proyectos administrados en Azure Repos Server. Cada vulnerabilidad se muestra con información contextual y práctica, como la ruta exacta de dependencias por la que se introdujo el problema, para agilizar el proceso de clasificación.

  • Evitar que se introduzcan nuevas vulnerabilidades mediante el análisis de nuevos pull requests. Cada nuevo pull request se analiza en Azure Repos Server antes de integrarse, para verificar que no introduzca nuevas vulnerabilidades.

  • Corregir los problemas detectados. Snyk calcula la corrección necesaria tanto para las dependencias directas como para las transitivas y completa automáticamente un pull request de corrección con las actualizaciones o los parches necesarios, todo desde el flujo de trabajo de Azure Repos Server.

  • Monitorear continuamente la aparición de nuevas vulnerabilidades. Snyk monitorea los proyectos importados a diario y notifica a los desarrolladores cuando se divulgan nuevas vulnerabilidades. Se pueden definir políticas para configurar el nivel de gravedad de las vulnerabilidades que impide la integración.

Veamos más de cerca cómo funciona.

Integrar Snyk con Azure Repos Server

Para configurar la integración, primero necesitamos obtener dos datos de Azure: la URL de la organización de Azure Repos Server y un token de acceso.

Al crear nuestro token de acceso de Snyk, debemos asegurarnos de seleccionar Custom defined y establecer la fecha de vencimiento lo más lejana posible. Además, en Scopes | Code, debemos seleccionar Read & write.

Cuadro de diálogo de Azure DevOps para crear un token de acceso personal, con una fecha de vencimiento personalizada y el permiso de lectura y escritura de código seleccionado

Con esos dos datos, podemos ir a la página Integrations de Snyk y seleccionar Azure Repos.

Página de integraciones de Snyk que muestra Azure Repos entre las integraciones de control de código fuente, con GitHub marcado como configurado.

Ahora debemos ingresar la URL de la organización de Azure Repos Server y el token que creamos antes.

Configuración de integración con Azure Repos que muestra campos para las credenciales de la cuenta, un token de acceso personal oculto, el botón Guardar e instrucciones para crear el token.

Después de hacer clic en el botón Save, aparece un mensaje de confirmación que indica que Snyk se integró correctamente con Azure Repos Server.

Configuración de la integración de Snyk con Azure Repos que muestra una actualización exitosa y las credenciales del repositorio conectado.

Solo falta hacer clic en Add your Azure Repos repositories to Snyk y seleccionar los repositorios que queremos proteger con Snyk.

Pantalla de importación de Azure Repos en Snyk para seleccionar repositorios, agregar rutas de archivo personalizadas y excluir carpetas de los análisis.

Snyk importa el proyecto y realiza un análisis inicial para detectar vulnerabilidades de seguridad y problemas de licencias. Como vemos en este ejemplo, nuestro proyecto de demostración en node.js contiene varias vulnerabilidades de distintos niveles de gravedad.

Panel de proyectos de Snyk que muestra un proyecto de Azure Repos importado llamado Demo/Demo, con package.json y el número de vulnerabilidades.

Corregir vulnerabilidades

Ahora que configuramos la integración, podemos empezar a usar Snyk para encontrar y corregir vulnerabilidades.

Al abrir el proyecto, vemos todos los problemas que Snyk detectó en nuestro repositorio de Azure Repos Server: 66 vulnerabilidades de seguridad y 2 problemas de licencias, introducidos a través de las dependencias de código abierto del proyecto.

Resumen del proyecto Demo/package.json en Snyk, que muestra vulnerabilidades, dependencias y Azure Repos como origen

Snyk ofrece recomendaciones prácticas de corrección para ayudarnos a solucionar los problemas rápidamente. Incluye la ruta completa de dependencias por la que se introdujo el problema, una indicación de si la vulnerabilidad es explotable y la actualización necesaria para corregirla.

Informe de vulnerabilidad de seguridad que muestra un exploit maduro, la versión afectada 0.4.7 de adm-zip y la recomendación de actualizar a la versión 0.4.11

Al hacer clic en Fix this vulnerability, se abre automáticamente en Azure Repos Server un pull request que incluye la actualización necesaria.

pull request de Azure DevOps titulado «[Snyk] Actualización de seguridad de adm-zip de 0.4.7 a 0.4.11», que muestra que no hay conflictos de fusión y detalles sobre la corrección de vulnerabilidades.

Seguridad continua

Snyk mantiene seguros nuestros repositorios de Azure Repos Server al monitorearlos continuamente para detectar nuevas vulnerabilidades.

Primero, Snyk nos notifica cuando se divulga una nueva vulnerabilidad y la detecta en nuestros proyectos, con todos los detalles necesarios para corregirla rápidamente.

Además, Snyk se asegura de que los cambios realizados en el código no introduzcan nuevas vulnerabilidades. Cada vez que se abre un nuevo pull request en Azure Repos Server, Snyk lo analiza automáticamente para detectar vulnerabilidades de seguridad y problemas de licencias, y así garantizar que se resuelvan antes de integrarlo.

Compatibilidad con DevSecOps durante todo el ciclo de vida de desarrollo de software (SDLC) de Azure

Esta integración es la más reciente de una serie de integraciones nativas que Snyk ofrece a los usuarios de Microsoft Azure. Ayuda a los desarrolladores a proteger sus aplicaciones durante todo el SDLC: desde el desarrollo del código, a lo largo de CI/CD y también durante la ejecución.

Para comenzar a usar cualquiera de estas integraciones, visita la página Integrations de Snyk o consulta más información en nuestra documentación de integración con Azure Repos.

Ten en cuenta que la integración es compatible con TFS v2018 Update 2 y versiones posteriores, y solo está disponible en nuestros planes Pro y Enterprise.

¡Mantente protegido!

Leer más

blog feature ai lilac
Blog

Convierte tu backlog de vulnerabilidades en pull requests con la remediación agéntica

Evo Remediation Agent ya está disponible en Open Preview e incorpora la resolución automatizada de dependencias a Evo Agentic AppSec. Ahora, los equipos de AppSec pueden ejecutar campañas de remediación continuas

illustration hero ai
Blog

PHP corrige dos vulnerabilidades críticas de RCE sin autenticación (CVE-2026-109618, CVE-2026-109619): actualiza ahora

Dos fallas críticas en el ciclo de solicitudes de PHP pueden permitir la ejecución remota de código sin autenticación. Actualiza a una versión corregida o instala una corrección retroportada por un proveedor para las versiones anteriores.

AI Background min crop
Blog

La IA activa todos los riesgos que has aceptado: siete ideas del panel de seguridad de IA sin filtros

La IA hace que los ataques sean más baratos y rápidos, y deja al descubierto riesgos que las organizaciones ya enfrentan. Cuatro líderes de seguridad explican por qué la defensa a velocidad de máquina y la corrección más rápida son esenciales.