En The Big Fix, hasta quienes no desarrollan pueden corregir vulnerabilidades de seguridad en el código
Gerald Crescione
23 de febrero de 2022
0 minutos de lecturaEsta es la historia de cómo una tarea habitual de gestión de proyectos terminó con mi pull request en un repositorio de código abierto en GitHub.
Como nuevo integrante del equipo de Marketing de Snyk, hace poco participé en los preparativos de The Big Fix, un evento que reúne a desarrolladores, profesionales de DevOps y especialistas en seguridad de todos los niveles para ayudar a hacer de Internet un lugar más seguro al corregir vulnerabilidades, mientras se divierten y reciben artículos promocionales.
Todos están invitados. ¿Por qué no habría de corregir una vulnerabilidad yo mismo?
Al conversar con el equipo, me di cuenta de que todo el proceso es tan sencillo que incluso alguien sin conocimientos técnicos como yo podía participar en la iniciativa y contribuir activamente a este esfuerzo global para hacer de Internet un lugar más seguro. Así que decidí intentarlo.
Paso 1: Comenzar a usar Snyk
Registrarme en The Big Fix fue sencillo. Solo tuve que usar mi cuenta de Snyk, que es totalmente gratis y se puede crear en unos minutos. Como especialista en marketing, no puedo decir que usara mucho la plataforma. Simplemente creé mi cuenta para conocer el producto y entender razonablemente cómo funciona.
El siguiente paso fue conectar Snyk con mi cuenta de GitHub y otorgar a la plataforma los permisos predeterminados para analizar mis proyectos y proponer correcciones de vulnerabilidades cuando fuera posible.

Paso 2: Elegir el proyecto adecuado
Con mi cuenta configurada y conectada a GitHub, podía importar un proyecto y analizarlo en busca de vulnerabilidades. Ahora tenía que elegir el proyecto adecuado para contribuir. No tengo proyectos propios, solo algunos fragmentos de código muy insignificantes. Así que tenía que contribuir a otro proyecto. Lo ideal era que fuera de código abierto y estuviera relacionado con el ecosistema nativo de la nube, que es de donde vengo.
En otras etapas de mi carrera formé parte de startups y proyectos muy enfocados en Infrastructure as Code (IaC). Tuve la oportunidad de trabajar en algunas publicaciones de blog donde enumerábamos todas las herramientas geniales de código abierto que giran en torno a HashiCorp Terraform y lo convierten en una forma aún mejor de administrar tus recursos en la nube. La breve lista de herramientas que tenía en mente era:
Terraformer (también llamado “reverse Terraform”): una excelente herramienta de código abierto creada por el equipo de SRE de Waze que analiza infraestructuras existentes en la nube, creadas manualmente, y las convierte en código de Terraform, lo que permite volver a importarlas a tu base de código de IaC.
TFlint: Un linter que analiza estáticamente tu código de Terraform, identifica tipos de instancia no válidos y detecta errores tipográficos e incompatibilidades al instante.
Terratest: una biblioteca de Go que realiza pruebas de integración de tus archivos de Terraform.
Decidí elegir Terratest porque me gusta mucho que el equipo detrás de esta herramienta se preocupe por probar nuestras infraestructuras, algo que, seamos honestos, probablemente todavía no sea una práctica recomendada muy común.
Si no la conoces, aquí tienes una breve introducción: Terratest fue creada por nuestros amigos de Gruntwork. Es una potente biblioteca de Go en la que puedes incluir tu código de Terraform y manipularlo mediante programación para hacer lo que quieras y, así, realizar todas las pruebas de integración que necesites.
Paso 3: Elegir la corrección adecuada
Lo primero que tenía que hacer era analizar Terratest para ver si encontraba alguna vulnerabilidad en el repositorio. Para ello, simplemente hice un fork del repositorio público y luego lo importé a Snyk para analizarlo.

Seamos sinceros: no soy desarrollador. Tengo conocimientos extremadamente básicos y, cuando interactúo con código, no estoy en una posición en la que pueda ser de mucha ayuda. Aun así, realmente quería ser parte de The Big Fix y contribuir de alguna manera, aunque fuera modestamente, a este gran proyecto de Terratest.
Al analizar el proyecto, tuve la suerte de encontrar una corrección muy sencilla (actualizar una imagen de Docker) que estaba a mi alcance.

Con Snyk, cualquiera puede detectar y corregir un problema, sin importar su nivel de conocimientos, gracias al sencillo botón Abrir un pull request de corrección, que te lleva a tu repositorio y propone la corrección más adecuada para tu vulnerabilidad.

Me gustó mucho poder explorar un poco más la plataforma y consultar la documentación para entender mejor de qué se trataba esta vulnerabilidad y por qué podía ser peligrosa. En esencia, esta corrección consistía en actualizar una versión antigua de una imagen.

¡Listos, preparados, a corregir!
Ya tenía todo listo: había detectado la vulnerabilidad, la corrección estaba preparada y solo tenía que hacer clic en el botón Abrir un pull request de corrección para ir a GitHub.

En mi repositorio, me resultó muy fácil revisar esta corrección y decidir si quería combinarla o no; obviamente, sí quería. (Recuerda que hay artículos promocionales para ganar).

Combinar el pull request fue muy sencillo y me dejó con una enorme sensación de propósito y satisfacción.

¡Un momento! Acabo de corregir una vulnerabilidad en un repositorio privado que en realidad no uso.
Hacer un fork de un repositorio público solo para analizarlo y corregir una vulnerabilidad no sirve de nada. Y aunque la posibilidad de ganar una camiseta de edición limitada es tentadora, realmente quería hacer una contribución real, aunque fuera muy pequeña.
¡No importa! Lo único que tenía que hacer era copiar la corrección y enviar un pull request al repositorio original de Terratest en GitHub.

Y… voilà. Corregir una vulnerabilidad es divertido. Contribuir al código abierto es aún mejor.
Corregir una vulnerabilidad siempre merece reconocimiento y una celebración.
¿Ya mencioné a la comunidad de The Big Fix?
Una de las cosas geniales de este proyecto es que forma parte de una comunidad. La magia ocurre en el servidor de Discord de la comunidad DevSecCon. Cuando te unas al servidor, puedes ir al canal the-big-fix, conversar con otros desarrolladores sobre lo que corregiste y hablar de todo lo relacionado con InfoSec y DevSecOps.

Corregir vulnerabilidades de seguridad de aplicaciones mientras te diviertes: ¿cómo funciona eso?
La idea de The Big Fix es ayudar a encontrar y corregir vulnerabilidades de una forma divertida, recompensando a los participantes con artículos promocionales. Es muy fácil participar. Solo tienes que:
Iniciar sesión en tu cuenta de Snyk (o crear una gratis si no tienes una).
Importar y analizar un proyecto.
Encontrar una vulnerabilidad (sí, probablemente haya vulnerabilidades en tus proyectos, por mucho que te esfuerces).
Corregirla con un pull request a través de la plataforma Snyk.
(Paso opcional) Relajarte y pensar en lo bien que te verás con tu camiseta de edición limitada de The Big Fix.
Importar y analizar otros proyectos y corregir aún más vulnerabilidades.
Si quieres ser parte de esta iniciativa, hay varios recursos que pueden ayudarte a comenzar. Una búsqueda sencilla de #TheBigFix en Twitter probablemente sea el mejor punto de partida. Otro buen lugar para empezar es el video a continuación, que explica cómo comenzar a corregir problemas con el IDE de VS Code.

¿Qué sigue?
Ten en cuenta que The Big Fix es un evento de un mes. Comenzó el 18 de enero y terminará el 25 de febrero con un “Big Fix-a-Thon” en forma de una transmisión en vivo de 24 horas sobre DevSecOps y seguridad para desarrolladores. Lo bueno es que no tienes que esperar hasta el 25 de febrero para encontrar una vulnerabilidad que corregir. Mientras escribo esta publicación de blog, ya se analizaron 35,302 proyectos, se encontraron 454,116 vulnerabilidades y se corrigieron 82,109, ¡algo increíblemente emocionante!
Únete al Big Fix-a-Thon interactivo el 25 de febrero: una transmisión en vivo de 24 horas sobre DevSecOps y seguridad para desarrolladores, con segmentos divertidos e invitados increíbles que te acompañarán en tu camino para corregir vulnerabilidades.
Sé parte de The Big Fix
Únete a los miles de desarrolladores que ya están protegiendo sus aplicaciones con Snyk.



