Estamos tratando de integrar los escaneos OWASP ZAP a nuestro ciclo de construcción. Cuando una nueva versión llega al equipo de control de calidad, ejecutan una herramienta de automatización similar a Selenium, que abre un navegador web Firefox en una máquina con Windows y ejecuta sus casos de prueba. Al ser completamente nuevo en ZAP, esto es lo que he configurado ahora para obtener los resultados del análisis de esas pruebas con regularidad.
-
Instaló la herramienta ZAP en una máquina Linux y se está ejecutando en modo de demonio con una clave api en el puerto 8080
-
Se realizaron cambios en la configuración de Firefox en la máquina de prueba de automatización para que cada nuevo perfil de Firefox abierto por Selenium tendrá el proxy apuntado a < IP_of_ZAP_Machine: 8080 & gt ;.
-
Un cronjob se ejecutará cada medianoche que haga lo siguiente en este orden:
-
Recopila las URL analizadas llamando a la URL
http://IP_of_ZAP_Machine:8080/XML/core/view/sites/?zapapiformat=XML
-
Genera una lista de URL que muestra alertas para cada 'sitio' obtenido del paso anterior.
Ejemplo:
http://IP_of_ZAP_Machine:8080/HTML/core/view/alerts/?zapapiformat=HTML&baseurl=https%3A%2F%2Fwww.example.com&start=&count=
para los resultados del escaneo en enlace -
Descarga los resultados del análisis en formato
HTML
llamando a todas las URL del paso anterior y colocando todos los HTML en un archivoZIP
. -
Envía el archivo ZIP a mi equipo por correo electrónico.
-
Carga una nueva sesión para que los resultados que se envíen por correo electrónico la próxima medianoche contengan resultados solo de la medianoche anterior. La nueva sesión se carga usando la URL
http://IP_of_ZAP_Machine:8080/JSON/core/action/newSession/?zapapiformat=JSON&apikey=<my_api_key>&name=${newsessionname}&overwrite=
-
Mientras obtengo los resultados del escaneo como se espera todos los días, las preguntas son: ¿Lo estoy haciendo bien? ¿Hay una manera más correcta o establecida de hacer esto?
Nota: los resultados de todos los pasos se registran en un archivo de registro para futuras verificaciones.