Skip to main content

Tres formas en que Snyk hizo más seguras las cadenas de suministro de software en 2022

Escrito por
feature snyk supply chain purple

12 de enero de 2023

0 minutos de lectura

Snyk comenzó 2022 con una sólida base para proteger tu cadena de suministro de software, que incluye el código que escribes, las bibliotecas y los paquetes de código abierto que utiliza tu código, los componentes del proceso de compilación y las configuraciones de infraestructura como código (IaC) de los sistemas donde se ejecuta tu aplicación. Durante el último año, la seguridad de la cadena de suministro de software ganó visibilidad: amenazas como Log4Shell, a fines de 2021, impulsaron al gobierno de Estados Unidos a emitir órdenes ejecutivas que exigen a los proveedores demostrar que su software se creó de forma segura.

Gráfico de líneas de Google Trends que muestra el creciente interés en las búsquedas sobre cadenas de suministro de software de enero de 2021 a noviembre de 2022.
Tendencias de búsqueda sobre la cadena de suministro de software. Fuente: Google Trends

Si llegaste a este blog y no tienes idea de qué es Snyk, qué hacemos o cómo se relaciona con la seguridad de las cadenas de suministro de software, aquí tienes una breve introducción. Snyk ofrece una plataforma de seguridad que prioriza a los desarrolladores, con herramientas para proteger todo el ciclo de vida del desarrollo de software (SDLC). Nuestro producto de pruebas de seguridad de aplicaciones estáticas (SAST), Snyk Code, ofrece a los desarrolladores recomendaciones prácticas para mitigar riesgos hasta 10-50 veces más rápido que las soluciones SAST tradicionales. Además, permite revisar el código directamente en el IDE sin afectar la productividad de los desarrolladores. Snyk Open Source ayuda a identificar y priorizar vulnerabilidades en paquetes de software de código abierto, y ofrece recomendaciones prácticas para corregirlas. Snyk Container ayuda a los desarrolladores a elegir imágenes base seguras y actualizadas, y señala dónde incorporan vulnerabilidades a sus contenedores mientras los crean. Así, va más allá de la práctica habitual de generar una larga lista de vulnerabilidades. Y cuando finalmente estés listo para ejecutar tus aplicaciones, Snyk Cloud adopta un enfoque centrado en los desarrolladores y en las aplicaciones para encontrar y corregir vulnerabilidades en la infraestructura en la nube, desde el momento en que la infraestructura se define como código (IaC) hasta el despliegue, cuando los recursos ya se ejecutan en la nube. Además, detecta las desviaciones en toda tu infraestructura en la nube si ambas dejan de coincidir.

En 2022, Snyk siguió ampliando su enfoque de seguridad de software centrado en los desarrolladores con varias mejoras clave para las soluciones existentes. Veamos tres capacidades importantes que incorporamos durante el último año y que pueden mejorar la seguridad de tu cadena de suministro.

1. El código que escribes

¿Qué viene primero: el código que escribes o el lenguaje de programación y el framework que usarás para crearlo? En cualquiera de los casos, podemos ayudarte. Agregamos varias funciones nuevas a Snyk Code, no solo para fomentar mejores prácticas de programación en el IDE, sino también para que sea aún más fácil incorporar funcionalidades en los IDE. Puedes leer más sobre el nuevo servidor de lenguaje y otras mejoras a la compatibilidad de Snyk con IDE, las mejoras a nuestra solución SAST y otras formas en que reforzamos la plataforma de seguridad para desarrolladores de Snyk en 2022.

2. Las bibliotecas que usas y en las que confías

Según la organización y los tipos de soluciones que se desarrollen, no es raro que entre el 70 % y el 90 % del código de una aplicación provenga de bibliotecas y paquetes de código abierto, como se explica en el informe sobre el estado de la seguridad del código abierto de 2022, de Snyk y la Linux Foundation. Esto significa que la mayor parte del código que usan los desarrolladores está fuera de su control, por lo que es aún más importante que las organizaciones puedan saber exactamente qué incluyen sus aplicaciones. Snyk Open Source ya podía identificar bibliotecas y paquetes vulnerables desde la línea de comandos y las canalizaciones de CI/CD. En 2022, ampliamos la compatibilidad con IDE a Visual Studio Code y agregamos la posibilidad de visualizar problemas directamente en el IDE, con recomendaciones de corrección fáciles de entender y contextualizadas para los desarrolladores.

Visual Studio Code muestra vulnerabilidades detectadas por Snyk en un archivo package-lock.json, junto con instrucciones detalladas para corregirlas en la dependencia adm-zip.

Encontrar y corregir vulnerabilidades de seguridad durante el desarrollo requiere mucho menos tiempo y dinero que hacerlo cuando una aplicación ya está en producción. Como miembro de la Open Source Security Foundation (OpenSSF), Snyk entiende y promueve que la implementación de las prácticas recomendadas de seguridad debe comenzar con los desarrolladores: ellos deciden cómo crear sus aplicaciones y qué bibliotecas usar.

Detectar vulnerabilidades en los IDE es una forma de reducir ese costo y esa fricción, pero la seguridad va más allá de detectar vulnerabilidades conocidas. Con tantos paquetes de código abierto en uso, también es importante que los desarrolladores consideren factores como la frecuencia del mantenimiento, el tamaño de la comunidad de mantenedores e incluso la popularidad de los paquetes que les interesa usar.

Todos estos factores indican si las vulnerabilidades se corregirán rápidamente cuando se descubran. Snyk Advisor está disponible en el sitio web de Snyk desde hace tiempo, pero también lo integramos en la experiencia del IDE para que los desarrolladores puedan evaluar la seguridad de sus paquetes, incluso si no tienen vulnerabilidades conocidas.

Pantalla de código que muestra un panel de recomendaciones de paquetes con información sobre popularidad, mantenimiento, comunidad y seguridad, y una puntuación de asesoría de 54/100.

Haces todo lo posible por evitar que haya vulnerabilidades en tu software, pero a veces ocurren. Es habitual que se descubran nuevas vulnerabilidades en bibliotecas que ya están en uso, incluso años después. Por eso es fundamental que las organizaciones puedan determinar rápidamente de qué se compone cada una de sus aplicaciones. Para eso sirve la lista de materiales de software (SBOM).

Una SBOM es una vista anidada o jerárquica de los componentes de una aplicación. Desde el primer día, Snyk Open Source se diseñó para ayudar a proteger la cadena de suministro de software: permite que los desarrolladores elijan paquetes de código abierto seguros desde el comienzo, prueben el código para detectar paquetes vulnerables durante todo el SDLC y supervisen continuamente las aplicaciones para detectar nuevas vulnerabilidades. Snyk Open Source amplió las posibilidades de descubrir vulnerabilidades y correcciones al incorporar la exportación de SBOM mediante la CLI con el nuevo comando snyk sbom. Ahora puedes exportar tu SBOM en el estándar abierto formato CycloneDX y obtener una vista completa de los componentes de tus aplicaciones, incluidas las dependencias transitivas de software. La compatibilidad con SBOM no se limita a la exportación básica: también agregamos un verificador de SBOM que te permite comprobar la seguridad de tus SBOM:

Ventana modal del panel de Snyk que muestra 127 problemas de SBOM, clasificados por gravedad, con tarjetas detalladas de vulnerabilidades en paquetes de JavaScript.

También habilitamos la disponibilidad general de nuestra API de problemas de paquetes, que permite a los clientes buscar vulnerabilidades de un paquete específico mediante su URL de paquete (purl), un formato de nomenclatura de paquetes líder para las SBOM. Además, contribuimos con un proveedor de Snyk al proyecto de código abierto Bomber.

3. Y los contenedores que ejecutas

Al igual que las aplicaciones modernas dependen en gran medida de bibliotecas y paquetes de código abierto, los desarrolladores suelen usar imágenes base públicas como fundamento de los contenedores de software que crean y despliegan. Muchas provienen de Docker Hub como "Official Images": imágenes de contenedor populares, varias de las cuales Docker publica y mantiene. A partir de estas imágenes base, los desarrolladores agregan su código o aplicaciones compiladas, junto con los paquetes de los que dependen. En 2022, agregamos la detección de imágenes base y recomendaciones de actualización para las versiones 8 y 9 de Universal Base Image (UBI) de Red Hat.

Snyk Container ya lleva un registro de las imágenes de Docker populares y ofrece recomendaciones de imágenes base, además de funciones de corrección automatizada para desarrolladores mediante la generación de pull request (PR) con un solo clic. Así, los equipos pueden migrar rápida y fácilmente a versiones más seguras de las imágenes públicas. En 2022, agregamos la posibilidad de marcar imágenes seleccionadas o "golden" como "Custom Base Images" e incluirlas en la lógica de recomendaciones (disponible como beta abierta). Este patrón es común en muchas empresas y evita que los desarrolladores tengan que preocuparse por la mayoría de los paquetes de los contenedores. La nueva función de Snyk Container permite que tus desarrolladores determinen el mejor punto de partida sin salirse de las políticas, con la misma lógica de corrección automática que antes solo se ofrecía para Docker Official Images. Esto permite que las organizaciones definan y seleccionen sus propias opciones de imágenes base, para tener aún más control sobre la seguridad de su cadena de suministro de software.

Descripción general del proyecto de Snyk con recomendaciones para actualizar la imagen base, cantidades de vulnerabilidades, niveles de gravedad y botones para abrir una solicitud de cambios con la solución

Las herramientas centradas en los desarrolladores buscan estar donde ellos trabajan, y los análisis de Snyk Container les permiten aprovechar las herramientas que ya usan para crear contenedores más seguros. Desde el punto de vista operativo, la nueva integración entre Snyk y Sysdig, incorporada en 2022, aporta contexto adicional de las cargas de trabajo en ejecución para ayudar a priorizar las correcciones y proteger aún más tu cadena de suministro de software.

¡Vamos con todo en 2023!

Aunque mencioné mucho más que tres cosas en este blog, estos son los puntos clave para Snyk en 2022 desde la perspectiva de la cadena de suministro:

  • Compatibilidad con un nuevo servidor de lenguaje para optimizar los complementos de IDE

  • Generación de SBOM, herramientas y compatibilidad

  • Recomendaciones de imágenes base personalizadas o "golden"

  • Integraciones en tiempo de ejecución

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.

Esperamos que hayas tenido un 2022 productivo y que 2023 sea aún mejor.