FANDANGO: una nueva herramienta de fuzzing que pone el control en manos del tester

Wait 5 sec.

En el mundo del desarrollo de software, encontrar errores antes de que los usuarios lo hagan es una prioridad constante. Para eso existen herramientas llamadas fuzzers, que desde hace más de una década se han convertido en aliadas fundamentales en las pruebas de seguridad. Pero la llegada de FANDANGO, una nueva herramienta de código abierto, promete cambiar la forma en que los desarrolladores diseñan sus pruebas.¿Qué es un fuzzer y por qué importa?Imaginemos que una aplicación es como una cerradura, y el fuzzer es una mano que prueba miles de llaves al azar para ver cuáles la abren. Esas «llaves» son datos de entrada generados automáticamente, y si alguna de ellas provoca que la cerradura se atasque o se abra cuando no debería, se detecta un posible fallo.Estas herramientas generan entradas aleatorias y las introducen en el software, observando su comportamiento para identificar vulnerabilidades. Son rápidas, incansables y, en muchos casos, muy efectivas.La evolución del fuzzing con FANDANGODesarrollado en el CISPA Helmholtz Center for Information Security por José Antonio Zamudio Amaya y el profesor Dr. Andreas Zeller, FANDANGO introduce un enfoque basado en la evolución biológica para mejorar el fuzzing.Este sistema se basa en una algoritmo evolutivo que imita la selección natural: comienza con una población de entradas, las muta y las cruza entre sí, generando nuevas generaciones que van afinándose cada vez más a las necesidades del tester.De la aleatoriedad al controlLa gran novedad de FANDANGO está en que no se limita a generar datos aleatorios. A diferencia de otros fuzzers, permite a los desarrolladores definir tanto la sintaxis como la semántica de las entradas. Es decir, no solo cómo deben estar estructuradas (por ejemplo, un número seguido de una palabra), sino también qué significan o cuáles son sus propiedades lógicas.Pongamos un ejemplo. Imaginemos un sitio web que permite diseñar muebles personalizados. El usuario puede introducir el alto, largo y profundidad de una estantería. Si se quiere probar qué ocurre cuando alguien intenta crear un mueble con un tamaño absurdo, como una superficie de un kilómetro cuadrado, FANDANGO puede generar automáticamente combinaciones de esas dimensiones que cumplan esa condición.Ventajas clave de FANDANGOPersonalización total: el tester define las reglas del juego. No se trata de lanzar datos a ciegas, sino de generar entradas con sentido dentro del contexto del programa.Cobertura más inteligente: al adaptarse a las restricciones impuestas por el tester, se exploran caminos específicos del código que podrían pasar desapercibidos con entradas al azar.Resultados más relevantes: los errores detectados tienen más probabilidad de ser críticos, porque surgen de condiciones lógicamente válidas.Una herramienta para la comunidadFANDANGO está disponible de forma gratuita en GitHub, con una interfaz de línea de comandos fácil de usar y una documentación completa que incluye tutoriales. El equipo de CISPA está activamente solicitando comentarios de la comunidad para seguir mejorando la herramienta.Este proyecto también tendrá visibilidad internacional, ya que será presentado en el International Symposium on Software Testing and Analysis (ISSTA 2025) en Noruega, un evento de referencia para investigadores y profesionales del sector.Un paso más hacia pruebas más inteligentesHerramientas como FANDANGO representan un cambio en la forma de pensar las pruebas de software: pasar de la fuerza bruta a la inteligencia guiada por conocimiento del dominio. Permitir que el tester incorpore su experiencia y entienda qué quiere poner a prueba da como resultado procesos más eficientes y confiables.Para empresas que trabajan en sectores críticos, como fintech, salud o infraestructura, donde los errores pueden tener consecuencias graves, este enfoque representa una ayuda valiosa para construir sistemas más seguros.La noticia FANDANGO: una nueva herramienta de fuzzing que pone el control en manos del tester fue publicada originalmente en Wwwhatsnew.com por Natalia Polo.