
API de microservices volontairement vulnérable conçue pour une formation pratique aux risques de l'OWASP API Security Top 10, avec des défis intégrés et un workflow réaliste d'achat de voiture.
complètement ridicule API (crAPI) vous aidera à comprendre les dix risques de sécurité API les plus critiques. crAPI est intentionnellement vulnérable, mais vous pouvez l'exécuter en toute sécurité pour vous former.
crAPI est moderne, construit sur une architecture de microservices. Le moment venu d'acheter votre première voiture, créez un compte et commencez votre aventure. Pour en savoir plus sur crAPI, consultez l'aperçu de crAPI.
Après avoir installé crAPI, il est recommandé de suivre le flux utilisateur prévu pour comprendre comment l'application est censée fonctionner avant de tenter les défis de sécurité.
-Flux de l'application (Happy Path)
Vous devez avoir Docker et docker compose installés et en cours d'exécution sur votre système hôte. De plus, la version de docker compose doit être 1.27.0 ou supérieure. Vérifiez votre version de docker compose en utilisant:
docker compose version
Mettez à niveau votre version de docker compose si vous obtenez des erreurs comme
ERROR: Invalid interpolation format for ...
Vous pouvez utiliser les images pré-construites générées par notre workflow CI en téléchargeant les fichiers docker compose et .env.
Pour utiliser la dernière version stable.
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
unzip /tmp/crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Pour écraser les configurations du serveur, modifiez les valeurs des variables présentes dans le fichier .env ou ajoutez les variables respectives au début de la commande docker compose.
Par exemple pour exposer le système à toutes les interfaces réseau.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
tar -xf .\crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Pour écraser les configurations du serveur, modifiez les valeurs des variables présentes dans le fichier .env ou ajoutez les variables respectives au début de la commande docker compose.
Par exemple pour exposer le système à toutes les interfaces réseau.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Pour utiliser la dernière version de développement
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
unzip /tmp/crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Visitez http://localhost:8888
Note : Tous les emails sont envoyés par défaut au service mailhog et peuvent être consultés sur http://localhost:8025 Vous pouvez modifier la configuration smtp si nécessaire, mais tous les emails avec le domaine example.com iront toujours vers mailhog.
Pour la configuration du fournisseur LLM du chatbot, voir instructions d'installation.
Cette option vous permet d'exécuter crAPI dans une machine virtuelle, isolée de votre système. Vous devez avoir Vagrant et, par exemple VirtualBox installés.
$ git clone [REPOSITORY-URL]
$ cd deploy/vagrant && vagrant up
Note : Tous les emails sont envoyés au service mailhog et peuvent être consultés sur http://192.168.33.20:8025
Une fois que vous avez fini de jouer avec crAPI, vous pouvez le supprimer complètement de votre système en exécutant la commande suivante depuis le répertoire racine du dépôt
$ cd deploy/vagrant && vagrant destroy
Si vous avez besoin d'aide pour installer et exécuter crAPI, vous pouvez consulter ce guide : Guide de dépannage crAPI. Si cela ne résout pas votre problème, veuillez créer un problème dans Github Issues.
Pour écraser les configurations du serveur, modifiez les valeurs des variables présentes dans le fichier .env ou ajoutez les variables respectives au début de la commande docker compose.
Par exemple pour exposer le système à toutes les interfaces réseau.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
tar -xf .\crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Pour écraser les configurations du serveur, modifiez les valeurs des variables présentes dans le fichier .env ou ajoutez les variables respectives au début de la commande docker compose.
Par exemple pour exposer le système à toutes les interfaces réseau.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d