
Automatisiertes API-Sicherheitstesttool, das REST- und SOAP-APIs auf Schwachstellen scannt, unter Verwendung von OpenAPI/Swagger-Spezifikationen und WSDL-Dateien. Stellt einen vollständigen Stack mit OWASP ZAP, MariaDB und MongoDB bereit.
API Scanner ist ein automatisiertes API-Sicherheitstest-Tool, das REST- und SOAP-APIs mithilfe von OpenAPI-/Swagger-Spezifikationen und WSDL-Dateien auf Schwachstellen überprüft.
git clone https://github.com/CSPF-Founder/api-scanner-docker.git
cd api-scanner-docker
python3 setup.py
Das Skript wird:
./certs/).env schreibenÖffnen Sie https://localhost:4455 in Ihrem Browser.
Wenn Sie ein selbstsigniertes Zertifikat verwenden, zeigt Ihr Browser eine Sicherheitswarnung an – fahren Sie fort und akzeptieren Sie diese.
Falls Sie die Konfiguration lieber manuell statt mit dem Setup-Skript durchführen möchten:
cp .env.example .env
.env bearbeiten und folgendes aktualisieren:
change_me_*-Passwörter durch sichere, zufällige Werte ersetzenCSRF_KEY durch eine zufällige Zeichenfolge von 32+ Zeichen ersetzenZAP_API_KEY durch eine zufällige Zeichenfolge ersetzenTRUSTED_ORIGINS mit Ihrer Domain angeben (z. B. https://scanner.yourcompany.com)DATABASE_URI und MONGO_DATABASE_URI mit den einzelnen Passwortvariablen übereinstimmenStapel starten:
docker compose up -d
Die gesamte Konfiguration erfolgt über die .env-Datei. Siehe .env.example für alle verfügbaren Optionen.
Alle Daten werden in benannten Docker-Volumes gespeichert:
mariadb_data – Benutzerkonten, Rollen, Sitzungenmongodb_data – Scanaufzeichnungen, Ergebnisse, Berichtescanner_data – Arbeitsdateien, hochgeladene Spezifikationen, generierte Berichtedocker compose pull
docker compose up -d
docker compose down
Um alle Daten zu entfernen (zerstörerisch):
docker compose down -v
Logs prüfen:
docker compose logs api-scanner
docker compose logs zap
Dienststatus prüfen:
docker compose ps
ZAP startet nicht: Stellen Sie sicher, dass mindestens 4 GB freier Arbeitsspeicher vorhanden sind. ZAP benötigt ~3 GB.
Panel nicht erreichbar: Überprüfen Sie, ob sich TLS-Zertifikate in ./certs/ befinden und TRUSTED_ORIGINS mit Ihrer URL inklusive Port übereinstimmt (z. B. https://localhost:4455).
Datenbankverbindungsfehler: Warten Sie 30–60 Sekunden nach dem ersten Start, bis die Datenbanken initialisiert sind.
Vollständiges Benutzerhandbuch: https://cspf-founder.github.io/api-scanner-docker/
| Dienst | Image | Beschreibung |
|---|
| api-scanner | cysecurity/api-scanner:latest | Web-Panel + Scan-Engine in einem Container |
| zap | ghcr.io/zaproxy/zaproxy:stable | OWASP ZAP Sicherheitsscanner |
| mariadb | mariadb:10.11 | Benutzerverwaltung und Sitzungsspeicher |
| mongodb | mongo:4.4 | Scandaten, Ergebnisse und Berichte |
| Variable | Beschreibung |
|---|
MARIADB_PASSWORD | Passwort des MariaDB-Anwendungsbenutzers |
MONGO_APP_PASSWORD | Passwort des MongoDB-Anwendungsbenutzers |
CSRF_KEY | CSRF-Schutzschlüssel (32+ Zeichen) |
ZAP_API_KEY | ZAP-API-Authentifizierungsschlüssel |
TRUSTED_ORIGINS | Erlaubte HTTPS-Ursprünge für das Panel |
USE_TLS | HTTPS aktivieren (Standard: true) |
TZ | Zeitzone (Standard: UTC) |