Skip to main content

Usar Snyk Vulnerability Database para encontrar proyectos para The Big Fix

Escrito por
Headshot of DeveloperSteve Coochin

DeveloperSteve Coochin

blog hero the big fix

30 de marzo de 2022

0 minutos de lectura

Como desarrolladores, todos tenemos una rutina matutina 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 consultar Snyk Vulnerability Database para conocer las vulnerabilidades de código abierto más recientes.

Ha sido especialmente interesante ver los tipos de exploits y vulnerabilidades que aparecen en distintos ecosistemas. Desde mayo de 2021 he estado siguiendo la aparición de vulnerabilidades en bibliotecas de Tensorflow y, al momento de escribir esto, han vuelto a aparecer (¡casi dos páginas!). En los informes recientes también han surgido varias veces vulnerabilidades en ElectronJS, el ecosistema que impulsa Slack, VS Code, Twitch y muchas otras aplicaciones populares.

Aunque Snyk Vulnerability Database simplifica el desarrollo seguro en el día a día, también ayuda a que internet sea más seguro en general. El sprint de vulnerabilidades de un mes de Snyk, The Big Fix, reunió a desarrolladores, profesionales de DevOps y especialistas en seguridad para corregir tantas vulnerabilidades como fuera posible. El sprint culminó con la transmisión en vivo de 24 horas Big Fix-A-Thon. Muchos participantes usaron Snyk Vulnerability Database para encontrar y corregir paquetes maliciosos en diversos proyectos de código abierto.

El evento oficial puede haber terminado, pero la comunidad de The Big Fix sigue tan activa como siempre. Hoy te mostraré cómo encontrar un proyecto con la base de datos de vulnerabilidades de código abierto para que ayudes a proteger a los usuarios y, de paso, consigas una camiseta de edición limitada de #thebigfix.

Cómo empezar con The Big Fix

El primer paso es crear una cuenta gratuita de Snyk. Si todavía no tienes una, ve a la página para empezar y proporciona los datos habituales (no se requiere tarjeta de crédito). Después, visita el sitio web de The Big Fix y haz clic en Regístrate ahora. Por último, ingresa tu nombre y correo electrónico, y ya podrás empezar.

Una vez que te registres, el siguiente paso es encontrar un proyecto. 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 buscas no aparece en el menú rápido, haz clic en Otro para ver una lista completa de opciones de integración.

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

Panel de integraciones de control de versiones que muestra tarjetas de 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. Incluso puedes analizar repositorios privados.

Interfaz de selección de repositorios con un campo de búsqueda y una lista desplegable de repositorios personales y de organizaciones.

Al conectar el repositorio con Snyk, el análisis identificará los paquetes vulnerables en el manifiesto de paquetes conectado. Después, puedes seleccionar esos paquetes para ver las correcciones recomendadas y las posibles medidas de remediación. Snyk también te permite crear un pull request automático con las correcciones recomendadas. Solo recuerda probar la aplicación para verificar que todo funcione como se espera en el proyecto.

Encuentra un proyecto

Si buscas un proyecto en el que puedas ayudar a corregir una vulnerabilidad, puedes usar Snyk Vulnerability Database para buscar proyectos en el paquete o ecosistema que prefieras.

Durante The Big Fix, contribuí a Invoice Ninja, uno de mis proyectos favoritos del ecosistema de código abierto de PHP. Este proyecto ayuda a empresas de todo el mundo con la facturación y la contabilidad, al conectarse con diversas herramientas empresariales de terceros.

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

Repositorio de GitHub en modo oscuro que muestra un commit con una vulnerabilidad detectada y carpetas como app, bootstrap, config, database, docs y tests

El análisis identificó algunas vulnerabilidades en el manifiesto del paquete Composer de PHP. Una de ellas se incorporaba mediante DOMPDF 0.6.2, como biblioteca de dependencia.

Panel de vulnerabilidades que muestra un problema de secuencias de comandos entre sitios de gravedad media en phenx/php-font-lib, corregido en la versión 0.3.1

Al investigar un poco más algunos de los hallazgos, identifiqué varios problemas, entre ellos una ruta vulnerable a secuencias de comandos entre sitios (XSS) en PHP-Font-Lib, una vulnerabilidad de 2014. Seguir su rastro en el proyecto permitió identificar no solo el problema en sí, sino también la corrección necesaria.

Al implementar correcciones, hay algunas cosas que debes tener en cuenta. 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 lo deje sin funcionar.

Cloné el repositorio bifurcado en mi equipo local mediante un pull request de Git y abrí VS Code. Con el plugin de Snyk instalado, pude actualizar los paquetes afectados y depurar. Luego, ejecuté el código en mi equipo local para probarlo mediante un servidor local (también puedes hacerlo con el servidor integrado de PHP).

Por último, hice commit de los cambios en mi repositorio bifurcado y envié un pull request de Git, que la comunidad verificó antes de integrarlo.

La satisfacción de contribuir

Me encanta contribuir, sobre todo cuando puedo ayudar a proteger a otra comunidad y mantenerla libre de vulnerabilidades. Como miembros de la comunidad de código abierto, es importante contribuir y ayudar a proteger a todas las personas que usan software de código abierto. Así que trabajemos en equipo para que el mundo digital sea un lugar más seguro.

Leer más

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.

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

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.