Google hoy anunció que se trata de una fuente abierta de ClusterFuzz, una herramienta de fuzzing escalable que puede ejecutarse en clústeres con más de 25,000 máquinas.
La compañía siempre ha usado la herramienta internamente y si ha prestado especial atención a los esfuerzos de Google (y lo ha hecho, ¿no?), Todo esto puede parecerle un poco familiar. Eso es porque Google lanzó el servicio OSS-Fuzz hace un par de años y ese servicio realmente usó ClusterFuzz. Sin embargo, OSS-Fuzz solo estaba disponible para proyectos de código abierto, mientras que ClusterFuzz ahora está disponible para que cualquiera lo use.
El concepto general detrás de fuzzing es bastante sencillo: básicamente, usted lanza gran cantidad de datos (incluidas las entradas aleatorias) en su aplicación y ve cómo reacciona. A menudo, se bloqueará, pero a veces podrá encontrar fugas de memoria y fallas de seguridad. Sin embargo, una vez que inicias algo a escala, se vuelve más complicado y necesitarás herramientas como ClusterFuzz para administrar esa complejidad.
ClusterFuzz automatiza el proceso de fuzzing desde la detección de errores hasta la generación de informes, y luego vuelve a probar la solución. La herramienta en sí también utiliza bibliotecas de código abierto como el motor de fuzzing libFuzzer y el fuzzer AFL para alimentar algunas de las características de fuzzing del núcleo que generan los casos de prueba para la herramienta.
Google dice que ha utilizado la herramienta para encontrar más de 16,000 errores en Chrome y 11,000 errores en más de 160 proyectos de código abierto que usaban OSS-Fuzz. Dado que gran parte de la cadena de herramientas de prueba y despliegue de software ahora está generalmente automatizada, no es de extrañar que el fuzzing también se esté convirtiendo en un tema candente en estos días (he visto que las referencias a "fuzzing continuo" aparecen bastante recientemente).
Source link