
Cadre de test de pénétration automatisé pour les API REST avec génération de tests pilotée par OpenAPI, 32 tests de sécurité basés sur OWASP, et gestion intégrée du contrôle d'accès pour OAuth2, HTTP Basic Auth et les clés API.
REST-Attacker est un framework de tests d'intrusion automatisés pour les API suivant l'architecture REST. L'outil se concentre sur la simplification de l'analyse des implémentations d'API REST génériques en automatisant complètement le processus de test — y compris la génération de tests, la gestion des contrôles d'accès et la génération de rapports — avec un effort de configuration minimal. De plus, REST-Attacker est conçu pour être flexible et extensible, prenant en charge à la fois les tests à grande échelle et l'analyse fine.
REST-Attacker est maintenu par la Chaire de Sécurité des Réseaux et des Données de l'Université de la Ruhr à Bochum.
REST-Attacker propose actuellement ces fonctionnalités :
Obtenez l'outil en téléchargeant ou en clonant le dépôt :
git clone https://github.com/RUB-NDS/REST-Attacker.git
Vous avez besoin de Python >3.10 pour exécuter l'outil.
Vous devez également installer les paquets suivants avec pip :
python3 -m pip install -r requirements.txt
Vous trouverez ici un aperçu rapide des commandes les plus courantes et utiles. Vous trouverez plus d'informations sur chaque commande et sur les autres options de configuration disponibles dans nos guides d'utilisation.
Obtenir la liste des cas de test pris en charge :
python3 -m rest_attacker --list
Exécution de test de base (avec génération de cas de test au chargement) :
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
Exécution de test complète (avec génération de cas de test au chargement et à l'exécution + gestion des limites de débit) :
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
Exécution de test avec seulement quelques cas de test sélectionnés (ne génère des cas de test que pour scopes.TestTokenRequestScopeOmit et resources.FindSecurityParameters) :
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
Relancer une exécution de test à partir d'un rapport :
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
Les guides d'utilisation et la documentation du format de configuration se trouvent dans les sous-dossiers de documentation.
Pour les correctifs/atténuations des problèmes connus avec l'outil, consultez la documentation de dépannage ou la section Problèmes.
Toutes les contributions sont les bienvenues ! Si vous avez trouvé un bogue ou si vous souhaitez faire une suggestion ou une demande de fonctionnalité, n'hésitez pas à créer un nouveau problème dans le traqueur de problèmes. Vous pouvez également soumettre des correctifs ou des améliorations de code via une pull request.
Malheureusement, nous pouvons être très occupés parfois, donc il peut s'écouler un certain temps avant que nous répondions aux commentaires dans ce dépôt.
Ce projet est sous licence GNU LGPLv3 ou version ultérieure (LGPL3+). Voir COPYING pour le texte complet de la licence et CONTRIBUTORS.md pour la liste des auteurs.