Herramienta automatizada de pruebas de seguridad de API que escanea APIs REST y SOAP en busca de vulnerabilidades utilizando especificaciones OpenAPI/Swagger y archivos WSDL. Despliega una pila completa con OWASP ZAP, MariaDB y MongoDB
API Scanner es una herramienta automatizada de pruebas de seguridad de APIs que escanea APIs REST y SOAP en busca de vulnerabilidades utilizando especificaciones OpenAPI/Swagger y archivos WSDL.
git clone https://github.com/CSPF-Founder/api-scanner-docker.git
cd api-scanner-docker
python3 setup.py
El script hará lo siguiente:
./certs/.envAbre https://localhost:4455 en tu navegador.
Si usas un certificado autofirmado, tu navegador mostrará una advertencia de seguridad: continúa para aceptarlo.
Si prefieres configurar manualmente en lugar de usar el script de configuración:
cp .env.example .env
Edita .env y actualiza:
change_me_* con valores aleatorios fuertesCSRF_KEY con una cadena aleatoria de 32+ caracteresZAP_API_KEY con una cadena aleatoriaTRUSTED_ORIGINS con tu dominio (por ejemplo, https://scanner.yourcompany.com)DATABASE_URI y MONGO_DATABASE_URI coincidan con las variables de contraseña individualesInicia el stack:
docker compose up -d
| Servicio | Imagen | Descripción |
|---|---|---|
| api-scanner | cysecurity/api-scanner:latest | Panel web + motor de escaneo en un solo contenedor |
| zap | ghcr.io/zaproxy/zaproxy:stable | Escáner de seguridad OWASP ZAP |
| mariadb | mariadb:10.11 | Gestión de usuarios y almacenamiento de sesiones |
| mongodb | mongo:4.4 | Datos de escaneo, resultados e informes |
Toda la configuración se realiza a través del archivo .env. Consulta .env.example para ver todas las opciones disponibles.
| Variable | Descripción |
|---|---|
MARIADB_PASSWORD | Contraseña del usuario de la aplicación MariaDB |
MONGO_APP_PASSWORD | Contraseña del usuario de la aplicación MongoDB |
CSRF_KEY | Clave de protección CSRF (32+ caracteres) |
ZAP_API_KEY | Clave de autenticación de la API de ZAP |
TRUSTED_ORIGINS | Orígenes HTTPS permitidos para el panel |
USE_TLS | Habilitar HTTPS (por defecto: true) |
TZ | Zona horaria (por defecto: UTC) |
Todos los datos se almacenan en volúmenes nombrados de Docker:
mariadb_data - Cuentas de usuario, roles, sesionesmongodb_data - Registros de escaneo, resultados, informesscanner_data - Archivos de trabajo, especificaciones subidas, informes generadosdocker compose pull
docker compose up -d
docker compose down
Para eliminar todos los datos (destructivo):
docker compose down -v
Revisar registros:
docker compose logs api-scanner
docker compose logs zap
Verificar estado del servicio:
docker compose ps
ZAP no se inicia: Asegúrate de tener al menos 4 GB de RAM libre. ZAP requiere ~3 GB.
Panel no accesible: Verifica que los certificados TLS estén en ./certs/ y que TRUSTED_ORIGINS coincida con tu URL incluyendo el puerto (por ejemplo, https://localhost:4455).
Errores de conexión a la base de datos: Espera de 30 a 60 segundos después del primer inicio para que las bases de datos se inicialicen.
Manual de usuario completo: https://cspf-founder.github.io/api-scanner-docker/