
Automatisiertes Penetrationstest-Framework für REST-APIs mit OpenAPI-gesteuerter Testgenerierung, 32 OWASP-basierten Sicherheitstests und integrierter Zugriffskontrollverwaltung für OAuth2, HTTP Basic Auth und API-Schlüssel.
REST-Attacker ist ein automatisiertes Penetrationstest-Framework für APIs, die dem REST-Architekturstil folgen. Der Schwerpunkt des Tools liegt auf der Optimierung der Analyse generischer REST-API-Implementierungen durch vollständige Automatisierung des Testprozesses – einschließlich Testgenerierung, Zugriffskontrollverwaltung und Berichterstellung – bei minimalem Konfigurationsaufwand. Darüber hinaus ist REST-Attacker flexibel und erweiterbar ausgelegt und unterstützt sowohl großflächige Tests als auch detaillierte Analysen.
REST-Attacker wird vom Lehrstuhl für Netz- und Datensicherheit der Ruhr-Universität Bochum betrieben.
REST-Attacker bietet derzeit diese Funktionen:
Laden Sie das Tool herunter oder klonen Sie das Repository:
git clone https://github.com/RUB-NDS/REST-Attacker.git
Sie benötigen Python >3.10, um das Tool auszuführen.
Sie müssen außerdem die folgenden Pakete mit pip installieren:
python3 -m pip install -r requirements.txt
Hier finden Sie eine kurze Übersicht über die gebräuchlichsten und nützlichsten Befehle. Weitere Informationen zu den einzelnen Befehlen und anderen verfügbaren Konfigurationsoptionen finden Sie in unseren Nutzungshandbüchern.
Rufen Sie die Liste der unterstützten Testfälle ab:
python3 -m rest_attacker --list
Einfacher Testlauf (mit Testfallgenerierung zur Ladezeit):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
Vollständiger Testlauf (mit Testfallgenerierung zur Ladezeit und Laufzeit + Behandlung von Ratenbegrenzungen):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
Testlauf mit nur ausgewählten Testfällen (generiert nur Testfälle für die Testfälle scopes.TestTokenRequestScopeOmit und resources.FindSecurityParameters):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
Führen Sie einen Testlauf aus einem Bericht erneut aus:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
Nutzungshandbücher und Dokumentation zum Konfigurationsformat finden Sie in den Dokumentations-Unterordnern.
Behebungen/Abhilfen für bekannte Probleme mit dem Tool finden Sie in der Fehlerbehebungsdokumentation oder im Issues-Bereich.
Beiträge jeder Art sind willkommen! Wenn Sie einen Fehler gefunden haben oder einen Vorschlag oder eine Feature-Anfrage einreichen möchten, können Sie jederzeit ein neues Issue im Issue-Tracker erstellen. Sie können auch Korrekturen oder Code-Änderungen über einen Pull Request einreichen.
Leider sind wir manchmal sehr beschäftigt, sodass es eine Weile dauern kann, bis wir auf Kommentare in diesem Repository antworten.
Dieses Projekt ist unter GNU LGPLv3 oder neuer (LGPL3+) lizenziert. Siehe COPYING für den vollständigen Lizenztext und CONTRIBUTORS.md für die Liste der Autoren.