
Framework automatizzato di penetration testing per API REST con generazione di test guidata da OpenAPI, 32 test di sicurezza basati su OWASP e gestione integrata del controllo degli accessi per OAuth2, HTTP Basic Auth e chiavi API.
REST-Attacker è un framework automatizzato di penetration testing per API che seguono lo stile architetturale REST. Lo strumento si concentra sull'ottimizzazione dell'analisi delle implementazioni generiche di API REST automatizzando completamente il processo di test – inclusa la generazione dei test, la gestione del controllo degli accessi e la generazione dei report – con il minimo sforzo di configurazione. Inoltre, REST-Attacker è progettato per essere flessibile ed estensibile, con supporto sia per test su larga scala che per analisi dettagliate.
REST-Attacker è mantenuto dalla Cattedra di Sicurezza di Rete e Dati dell'Università della Ruhr a Bochum.
REST-Attacker attualmente offre queste funzionalità:
Ottieni lo strumento scaricando o clonando il repository:
git clone https://github.com/RUB-NDS/REST-Attacker.git
È necessario Python >3.10 per eseguire lo strumento.
È inoltre necessario installare i seguenti pacchetti con pip:
python3 -m pip install -r requirements.txt
Qui puoi trovare una rapida panoramica dei comandi più comuni e utili. Puoi trovare maggiori informazioni su ogni comando e sulle opzioni di configurazione disponibili nelle nostre guide all'uso.
Ottieni l'elenco dei casi di test supportati:
python3 -m rest_attacker --list
Esecuzione di test di base (con generazione di casi di test al caricamento):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
Esecuzione completa del test (con generazione di casi di test al caricamento e in esecuzione + gestione dei limiti di velocità):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
Esecuzione del test solo con casi di test selezionati (genera solo casi di test per i casi di test scopes.TestTokenRequestScopeOmit e resources.FindSecurityParameters):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
Riesegui un test da un report:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
Guide all'uso e documentazione sul formato di configurazione sono disponibili nelle sottocartelle documentazione.
Per correzioni/mitigazioni di problemi noti con lo strumento, consulta la documentazione sulla risoluzione dei problemi o la sezione Problemi.
I contributi di ogni tipo sono apprezzati! Se hai trovato un bug o vuoi fare un suggerimento o una richiesta di funzionalità, sentiti libero di creare una nuova issue nel tracker delle issue. Puoi anche inviare correzioni o modifiche al codice tramite una pull request.
Purtroppo, a volte possiamo essere molto impegnati, quindi potrebbe volerci del tempo prima di rispondere ai commenti in questo repository.
Questo progetto è concesso in licenza secondo i termini della GNU LGPLv3 o successive (LGPL3+). Consulta COPYING per il testo completo della licenza e CONTRIBUTORS.md per l'elenco degli autori.