Skip to main content

Usa Snyk Vulnerability Database para identificar proyectos para The Big Fix

Escrito por
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog hero the big fix

16 de febrero de 2022

0 minutos de lectura

Como desarrolladores, todos tenemos una rutina para empezar el día: preparar café, revisar Slack/Discord/correo electrónico y leer las últimas noticias. Una de las cosas que hago como parte de mi rutina diaria es revisar Snyk Vulnerability Database para conocer las últimas vulnerabilidades de código abierto.

Ha sido especialmente interesante ver los tipos de exploits y vulnerabilidades que aparecen en distintos ecosistemas. Por ejemplo, desde mayo de 2021 he estado observando la aparición de vulnerabilidades en las bibliotecas de Tensorflow. Al momento de escribir esto, han vuelto a aparecer (¡casi dos páginas de ellas!).

Otro ecosistema muy utilizado que ha aparecido varias veces recientemente es ElectronJS. Da vida a muchas aplicaciones populares, como Slack, VSCode y Twitch, por nombrar algunas.

Voy a mostrarte cómo encontrar un proyecto para corregir y, además, conseguir una de las camisetas de edición limitada de #thebigfix y ayudar a proteger a los usuarios de las vulnerabilidades. ¡Todos ganan!

Cómo empezar con The Big Fix

El primer paso es registrarte para obtener una cuenta gratuita de Snyk, si aún no tienes una. Ve a la página para empezar y proporciona los datos habituales (no necesitas tarjeta de crédito). Luego, ve al sitio web de The Big Fix y haz clic en Regístrate ahora. Ingresa tu nombre y correo electrónico, y ya podrás empezar.

Una vez que te hayas registrado, el siguiente paso es encontrar cosas que corregir. Hay varias formas de hacerlo.

Conecta un repositorio existente

Si ya tienes en mente el repositorio de un proyecto, puedes conectarlo de forma rápida y sencilla. Ve a tu panel de Snyk y haz clic en Agregar proyecto. Si el repositorio que quieres no aparece en el menú rápido, haz clic en Otro para acceder a una lista completa de opciones de integración.

Selecciona el repositorio que quieras y sigue los pasos para conectarlo y configurarlo.

Panel de integraciones que muestra opciones de control de versiones para GitHub, GitHub Enterprise, GitLab, Bitbucket y Azure Repos

Una vez conectado, vuelve a hacer clic en Agregar proyecto y selecciona el repositorio en el que quieras analizar vulnerabilidades de código abierto. También puedes analizar repositorios privados.

Interfaz de selección de repositorios que muestra una barra de búsqueda y repositorios personales y de organizaciones desplegables en «developersteve».

Al conectarte a Snyk Open Source, el análisis identificará los paquetes vulnerables en el manifiesto de paquetes conectado. También identificará las correcciones y las posibles medidas de remediación. Snyk Open Source también permite crear automáticamente un pull request en el repositorio con posibles correcciones. Solo recuerda probar la aplicación para verificar que todo funcione como se espera en el proyecto.

Encuentra un proyecto al que puedas contribuir

Si buscas un proyecto en el que puedas ayudar a corregir una vulnerabilidad, puedes encontrar uno en Snyk Vulnerability Database y explorar algunos de los paquetes o el ecosistema que prefieras.

Uno de mis proyectos favoritos del ecosistema de código abierto de PHP al que he contribuido recientemente como parte de The Big Fix es Invoice Ninja. Este proyecto de código abierto ayuda a empresas de todo el mundo con la facturación y la contabilidad, y se integra con diversas herramientas empresariales de terceros.

Primero, hice un fork del repositorio principal en mi propia cuenta. Luego, con el método anterior, conecté el repositorio a Snyk Open Source.

Página de un repositorio de GitHub con tema oscuro que muestra carpetas, mensajes de confirmación recientes y 9,437 confirmaciones

El análisis identificó algunas vulnerabilidades en el manifiesto de paquetes de PHP Composer. Una de ellas se incorporaba como dependencia a través de DOMPDF 0.6.2.

Detalles de vulnerabilidad de phenx/php-font-lib: muestra una vulnerabilidad de cross-site scripting de gravedad media y sin exploits conocidos.

Al investigar un poco más algunos de los hallazgos, identifiqué varios problemas, entre ellos una ruta vulnerable a Cross-Site Scripting (XSS) en PHP-Font-Lib: una vulnerabilidad de 2014. Rastrear su origen en el proyecto ayudó a identificar no solo el problema en sí, sino también la corrección necesaria.

Al implementar correcciones, debes tener en cuenta algunas cosas. Lo más importante es asegurarte de que el proyecto siga funcionando en general. Esto es especialmente importante al actualizar bibliotecas y dependencias. Muchas personas dependen de estos proyectos para sus actividades diarias, y ningún proyecto quiere implementar un cambio que cause problemas.

Descargué el repositorio bifurcado en mi equipo local con un git pull request e inicié VSCode, donde tenía instalado el complemento de Snyk. Pude actualizar los paquetes afectados y depurar. Luego ejecuté el código para probarlo en mi equipo local, con un servidor local (también puedes hacerlo con el servidor integrado de PHP).

Por último, confirmé los cambios en mi repositorio bifurcado y envié un git pull request, que la comunidad revisó e investigó antes de integrarlo.

La satisfacción de contribuir

Me encanta retribuir, sobre todo cuando puedo ayudar a proteger a otra comunidad y mantenerla libre de vulnerabilidades. Como colaboradores de la comunidad de código abierto, siempre es importante contribuir y ayudar a proteger a todos los usuarios de un proyecto.

Y además, recibes una camiseta gratis y participas en un sorteo de premios como parte de The Big Fix.

¡Regístrate en The Big Fix y empieza a corregir vulnerabilidades hoy mismo!

Sé parte de The Big Fix

Únete a los miles de desarrolladores que ya están protegiendo sus aplicaciones con Snyk.

Leer más

blog feature snyk container custom base recommendations
Blog

Presentamos Evo Agentic AppSec: seguridad al ritmo del desarrollo con IA

El desarrollo impulsado por IA supera el ritmo de los flujos de trabajo de seguridad tradicionales. Agentic AppSec de Snyk usa agentes de seguridad para encontrar, corregir y verificar vulnerabilidades de forma continua, mientras las personas definen el estándar.

Live Stream

Agentes de remediación, sin misterios: por qué solucionar es mejor que encontrar

Descubre cómo el agente de remediación de Snyk utiliza inteligencia de seguridad, análisis de explotabilidad y validación para convertir las vulnerabilidades en solicitudes de incorporación de cambios listas para fusionarse.

feature ai ide dark
Blog

Un primer vistazo a Evo Agentic AppSec: remediación agéntica y defensa contra código malicioso

Explora las primeras capacidades de Agentic AppSec de Snyk: un agente de remediación autónomo que corrige vulnerabilidades y una defensa contra código malicioso que bloquea paquetes riesgosos antes de que se publiquen.