Outil automatisé de test de sécurité des API qui scanne les API REST et SOAP pour les vulnérabilités en utilisant les spécifications OpenAPI/Swagger et les fichiers WSDL. Déploie une pile complète avec OWASP ZAP, MariaDB et MongoDB.
API Scanner est un outil automatisé de test de sécurité des API qui analyse les API REST et SOAP à la recherche de vulnérabilités en utilisant les spécifications OpenAPI/Swagger et les fichiers WSDL.
git clone https://github.com/CSPF-Founder/api-scanner-docker.git
cd api-scanner-docker
python3 setup.py
Le script va :
./certs/).envOuvrez https://localhost:4455 dans votre navigateur.
Si vous utilisez un certificat auto-signé, votre navigateur affichera un avertissement de sécurité - acceptez-le pour continuer.
Si vous préférez configurer manuellement plutôt que d'utiliser le script d'installation :
cp .env.example .env
Modifiez .env et mettez à jour :
change_me_* avec des valeurs aléatoires fortesCSRF_KEY avec une chaîne aléatoire de 32+ caractèresZAP_API_KEY avec une chaîne aléatoireTRUSTED_ORIGINS avec votre domaine (par ex., https://scanner.yourcompany.com)DATABASE_URI et MONGO_DATABASE_URI correspondent aux variables de mot de passe individuellesDémarrez la pile :
docker compose up -d
| Service | Image | Description |
|---|---|---|
| api-scanner | cysecurity/api-scanner:latest | Panneau web + moteur d'analyse dans un seul conteneur |
| zap | ghcr.io/zaproxy/zaproxy:stable | Scanner de sécurité OWASP ZAP |
| mariadb | mariadb:10.11 | Gestion des utilisateurs et stockage des sessions |
| mongodb | mongo:4.4 | Données d'analyse, résultats et rapports |
Toute la configuration se fait via le fichier .env. Consultez .env.example pour toutes les options disponibles.
| Variable | Description |
|---|---|
MARIADB_PASSWORD | Mot de passe de l'utilisateur applicatif MariaDB |
MONGO_APP_PASSWORD | Mot de passe de l'utilisateur applicatif MongoDB |
CSRF_KEY | Clé de protection CSRF (32+ caractères) |
ZAP_API_KEY | Clé d'authentification de l'API ZAP |
TRUSTED_ORIGINS | Origines HTTPS autorisées pour le panneau |
USE_TLS | Activer HTTPS (par défaut : true) |
TZ | Fuseau horaire (par défaut : UTC) |
Toutes les données sont stockées dans des volumes nommés Docker :
mariadb_data - Comptes utilisateurs, rôles, sessionsmongodb_data - Enregistrements d'analyse, résultats, rapportsscanner_data - Fichiers de travail, spécifications téléchargées, rapports générésdocker compose pull
docker compose up -d
docker compose down
Pour supprimer toutes les données (destructeur) :
docker compose down -v
Consultez les logs :
docker compose logs api-scanner
docker compose logs zap
Vérifiez l'état des services :
docker compose ps
ZAP ne démarre pas : Assurez-vous d'avoir au moins 4 Go de RAM libre. ZAP nécessite environ 3 Go.
Panneau inaccessible : Vérifiez que les certificats TLS sont dans ./certs/ et que TRUSTED_ORIGINS correspond à votre URL incluant le port (par ex., https://localhost:4455).
Erreurs de connexion à la base de données : Attendez 30 à 60 secondes après le premier démarrage pour que les bases de données s'initialisent.
Manuel complet de l'utilisateur : https://cspf-founder.github.io/api-scanner-docker/