OWASP ZAP explicado: qué escanea y las 10 alertas más habituales
OWASP ZAP es un escáner gratuito y de código abierto que mira un sitio web como lo haría la primera herramienta de un atacante. Recorre el sitio, lee cada respuesta y señala lo que parece mal: una cabecera de seguridad ausente, una cookie sin marca, un formulario sin token. Es una explicación de la herramienta; lo que mostraron los escaneos baseline propios de Kasandro está en el artículo sobre nuestros controles.
OWASP ZAP en un párrafo
ZAP (Zed Attack Proxy) lo describe el sitio del proyecto como gratuito y de código abierto, «el escáner de aplicaciones web más usado del mundo». Se coloca como proxy entre el navegador y el sitio, o explora el sitio por su cuenta, y lanza alertas, cada una con un ID y un nombre del catálogo público. Su sitio lleva la marca «ZAP by Checkmarx» y también llama a ZAP un proyecto de código abierto independiente. Se ejecuta desde una app de escritorio, desde Docker o como paso de la CI.
Escaneo baseline y escaneo activo
El escaneo baseline es el ligero. Según su documentación, ejecuta el spider un minuto por defecto, espera a que termine el escaneo pasivo y informa. No realiza «ataques reales»: solo lee las respuestas que el sitio da de todos modos, así que es seguro en tu propio sitio, dura pocos minutos y cabe en una pipeline. Por defecto cada alerta es una advertencia; un archivo de reglas puede convertir una regla en IGNORE, INFO o FAIL.
Un escaneo activo sí envía peticiones parecidas a ataques (por ejemplo cargas de inyección SQL o de XSS reflejado). Puede modificar datos, así que corresponde a una copia de pruebas y solo a un sistema que tengas permiso para probar.
Las 10 alertas más habituales
Estas diez alertas son las que los sitios corrientes reciben con más frecuencia de un escaneo baseline. Los ID y nombres proceden del catálogo de ZAP.
- Content Security Policy (CSP) Header Not Set (10038). El sitio no dice al navegador qué scripts e imágenes puede cargar, lo que facilita la vida a un script inyectado. Corrección: una cabecera
Content-Security-Policycon las fuentes que realmente usas. - Missing Anti-clickjacking Header (10020). Otro sitio podría incrustar el tuyo en un marco oculto y colar un clic. Corrección:
frame-ancestorsen la CSP oX-Frame-Options. - X-Content-Type-Options Header Missing (10021). El navegador puede adivinar el tipo de un archivo y ejecutar algo que era texto. Corrección:
X-Content-Type-Options: nosniff. - Strict-Transport-Security Header Not Set (10035). Una primera visita por HTTP simple puede interceptarse. Corrección:
Strict-Transport-Securityen las respuestas HTTPS. - Cookie No HttpOnly Flag (10010). Un script de la página puede leer la cookie. Corrección:
HttpOnlyen las cookies de sesión. - Cookie without SameSite Attribute (10054). La cookie viaja en peticiones desde otros sitios. Corrección:
SameSiteenLaxoStrictdonde el flujo lo permita. - Server Leaks Version Information via "Server" HTTP Response Header Field (10036). La versión exacta del software ayuda a elegir un exploit conocido. Corrección: no enviar la versión.
- Cross-Domain Misconfiguration (10098). El sitio permite a otros orígenes leer sus respuestas más de lo necesario. Corrección: nombrar los orígenes de confianza en lugar de un comodín.
- Absence of Anti-CSRF Tokens (10202). Otro sitio puede enviar un formulario en nombre de un usuario con sesión iniciada. Corrección: un token por formulario, o una política estricta de cookies más comprobación del origen.
- Vulnerable JS Library (10003). Una biblioteca incluida tiene una vulnerabilidad conocida. Corrección: actualizarla; una auditoría de dependencias en la CI la detecta antes.
Otras dos aparecen en el escaneo activo: SQL Injection (40018) y Cross Site Scripting (Reflected) (40012).
Lo que un escaneo limpio no demuestra
Un escaneo baseline lee respuestas: no inicia sesión, no entiende tu lógica de dinero y no busca una regla de acceso rota entre dos usuarios. Un resultado limpio significa «ningún error conocido de cabeceras o cookies en las páginas que alcanzó el spider». Es un suelo, no un certificado, y no sustituye la revisión del código ni una prueba de penetración hecha por una persona.
Cómo está esto en el grupo veinito
ClassKasa, un producto hermano del grupo veinito, tiene un trabajo de escaneo OWASP ZAP baseline en su pipeline de CI, y desde el 13 de octubre de 2026 Kasandro ejecuta el mismo escaneo baseline en cada cambio de código: los hallazgos nuevos detienen el build. La primera ejecución, 63 comprobaciones superadas y 0 fallidas, se describe en nuestro artículo sobre los controles.
FAQ
¿Es gratuito OWASP ZAP?
Sí. El sitio del proyecto lo describe como gratuito y de código abierto.
¿Es seguro un escaneo baseline de ZAP en mi propio sitio?
La documentación dice que el escaneo baseline no realiza ataques; explora el sitio y analiza las respuestas de forma pasiva. Ejecútalo en sistemas que sean tuyos o que tengas permiso para probar.
¿Un escaneo limpio de ZAP significa que un sitio es seguro?
No. Significa que ZAP no encontró problemas conocidos de cabeceras, cookies o bibliotecas en las páginas que alcanzó. Los errores de lógica y de acceso requieren la revisión de una persona.
¿Se ha escaneado Kasandro con ZAP?
Sí: el escaneo baseline se ejecuta en cada cambio de código desde el 13 de octubre de 2026, y los hallazgos nuevos detienen el build. La primera ejecución se describe en nuestro artículo sobre los controles.
Fuentes
- ZAP, sitio del proyecto: https://www.zaproxy.org/, a 13 de octubre de 2026
- ZAP, documentación del escaneo baseline: https://www.zaproxy.org/docs/docker/baseline-scan/, a 13 de octubre de 2026
- ZAP, catálogo de alertas (ID y nombres): https://www.zaproxy.org/docs/alerts/, a 13 de octubre de 2026
- Kasandro, página de seguridad: https://kasandro.com/es/security, a 13 de octubre de 2026
Sigue leyendo
Kasandro es una herramienta para ver con claridad tus finanzas, no asesoramiento de inversión ni asesoramiento financiero. Las cifras de Marek, Ania y Tomek son datos de ejemplo.
RSS · Esta entrada en polaco · Blog in English
¿Una pregunta que este artículo no responde? Escríbenos a support@kasandro.com.