
Framework automatizado de testes de penetração para APIs REST com geração de testes orientada por OpenAPI, 32 testes de segurança baseados na OWASP e manipulação integrada de controle de acesso para OAuth2, Autenticação Básica HTTP e chaves de API.
REST-Attacker é uma estrutura automatizada de testes de penetração para APIs que seguem o estilo arquitetural REST. O foco da ferramenta é simplificar a análise de implementações genéricas de APIs REST automatizando completamente o processo de teste - incluindo geração de testes, tratamento de controle de acesso e geração de relatórios - com esforço mínimo de configuração. Além disso, o REST-Attacker foi projetado para ser flexível e extensível, com suporte tanto para testes em larga escala quanto para análises refinadas.
O REST-Attacker é mantido pela Cátedra de Segurança de Redes e Dados da Universidade do Ruhr em Bochum.
Atualmente, o REST-Attacker oferece estes recursos:
Obtenha a ferramenta baixando ou clonando o repositório:
git clone https://github.com/RUB-NDS/REST-Attacker.git
Você precisa de Python >3.10 para executar a ferramenta.
Você também precisa instalar os seguintes pacotes com pip:
python3 -m pip install -r requirements.txt
Aqui você encontra um resumo rápido dos comandos mais comuns e úteis. Você pode encontrar mais informações sobre cada comando e outras opções de configuração disponíveis em nossos guias de uso.
Obtenha a lista de casos de teste suportados:
python3 -m rest_attacker --list
Execução de teste básica (com geração de casos de teste em tempo de carga):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate
Execução de teste completa (com geração de casos de teste em tempo de carga e execução + tratamento de limite de taxa):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --propose --handle-limits
Execução de teste apenas com casos de teste selecionados (gera apenas casos de teste para os casos scopes.TestTokenRequestScopeOmit e resources.FindSecurityParameters):
python3 -m rest_attacker <cfg-dir-or-openapi-file> --generate --test-cases scopes.TestTokenRequestScopeOmit resources.FindSecurityParameters
Reexecutar uma execução de teste a partir de um relatório:
python3 -m rest_attacker <cfg-dir-or-openapi-file> --run /path/to/report.json
Guias de uso e documentação do formato de configuração podem ser encontrados nas subpastas de documentação.
Para correções/mitigações de problemas conhecidos com a ferramenta, consulte os documentos de solução de problemas ou a seção de Issues.
Contribuições de todos os tipos são bem-vindas! Se você encontrou um bug ou deseja fazer uma sugestão ou pedido de funcionalidade, sinta-se à vontade para criar uma nova issue no rastreador de issues. Você também pode enviar correções ou alterações de código através de um pull request.
Infelizmente, às vezes podemos estar muito ocupados, então pode levar um tempo até respondermos aos comentários neste repositório.
Este projeto está licenciado sob GNU LGPLv3 ou posterior (LGPL3+). Consulte COPYING para o texto completo da licença e CONTRIBUTORS.md para a lista de autores.