
Strumento di test automatizzato della sicurezza delle API che analizza le API REST e SOAP alla ricerca di vulnerabilità utilizzando le specifiche OpenAPI/Swagger e i file WSDL. Distribuisce un full stack con OWASP ZAP, MariaDB e MongoDB.
API Scanner è uno strumento automatico di test di sicurezza delle API che scansiona le API REST e SOAP alla ricerca di vulnerabilità utilizzando specifiche OpenAPI/Swagger e file WSDL.
git clone https://github.com/CSPF-Founder/api-scanner-docker.git
cd api-scanner-docker
python3 setup.py
Lo script:
./certs/).envApri https://localhost:4455 nel tuo browser.
Se si utilizza un certificato autofirmato, il browser mostrerà un avviso di sicurezza: procedi ad accettarlo.
Se preferisci configurare manualmente invece di usare lo script di configurazione:
cp .env.example .env
Modifica .env e aggiorna:
change_me_* con valori casuali fortiCSRF_KEY con una stringa casuale di 32+ caratteriZAP_API_KEY con una stringa casualeTRUSTED_ORIGINS con il tuo dominio (es., https://scanner.yourcompany.com)DATABASE_URI e MONGO_DATABASE_URI corrispondano alle singole variabili delle passwordAvvia lo stack:
docker compose up -d
Tutta la configurazione avviene tramite il file .env. Consulta .env.example per tutte le opzioni disponibili.
Tutti i dati sono archiviati in volumi Docker con nome:
mariadb_data - Account utente, ruoli, sessionimongodb_data - Registri di scansione, risultati, reportscanner_data - File di lavoro, specifiche caricate, report generatidocker compose pull
docker compose up -d
docker compose down
Per rimuovere tutti i dati (operazione distruttiva):
docker compose down -v
Controlla i log:
docker compose logs api-scanner
docker compose logs zap
Controlla lo stato dei servizi:
docker compose ps
ZAP non si avvia: Assicurati di avere almeno 4 GB di RAM libera. ZAP richiede circa 3 GB.
Pannello non accessibile: Verifica che i certificati TLS siano in ./certs/ e che TRUSTED_ORIGINS corrisponda al tuo URL, inclusa la porta (es., https://localhost:4455).
Errori di connessione al database: Attendi 30-60 secondi dopo il primo avvio per consentire ai database di inizializzarsi.
Manuale utente completo: https://cspf-founder.github.io/api-scanner-docker/
| Service | Image | Description |
|---|
| api-scanner | cysecurity/api-scanner:latest | Pannello web + motore di scansione in un singolo contenitore |
| zap | ghcr.io/zaproxy/zaproxy:stable | Scanner di sicurezza OWASP ZAP |
| mariadb | mariadb:10.11 | Gestione utenti e archiviazione sessioni |
| mongodb | mongo:4.4 | Dati di scansione, risultati e report |
| Variable | Description |
|---|
MARIADB_PASSWORD | Password dell'utente applicativo MariaDB |
MONGO_APP_PASSWORD | Password dell'utente applicativo MongoDB |
CSRF_KEY | Chiave di protezione CSRF (32+ caratteri) |
ZAP_API_KEY | Chiave di autenticazione API di ZAP |
TRUSTED_ORIGINS | Origini HTTPS consentite per il pannello |
USE_TLS | Abilita HTTPS (predefinito: true) |
TZ | Fuso orario (predefinito: UTC) |