Usa Snyk Vulnerability Database para identificar proyectos para The Big Fix
DeveloperSteve Coochin
16 de febrero de 2022
0 minutos de lecturaComo 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.

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.

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.

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.

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.



