ApiScan é uma ferramenta automatizada projetada para testar a segurança de APIs RESTful. Ela utiliza especificações OpenAPI para identificar endpoints, realizar testes e gerar relatórios detalhados, ajudando a identificar vulnerabilidades com base nas recomendações do OWASP.
- Permite importar especificações OpenAPI de um arquivo local ou URL.
- Identifica automaticamente os endpoints para teste.
- Suporte a três métodos de autenticação:
- Sem autenticação.
- Token Bearer.
- Login com credenciais para obter o token automaticamente.
- Executa chamadas para endpoints definidos, suportando parâmetros em rotas e consultas.
- Gera respostas salvas no arquivo
raw_responses.json
.
- Usa o script
geraR.py
para criar relatórios personalizados, incluindo:- Rotas testadas.
- Métodos HTTP utilizados.
- Resumo das respostas brutas.
- Compatível com ferramentas como Burp Suite.
- Opção de ativar/desativar proxy durante a execução.
- setup.sh: Configura automaticamente o ambiente, instalando dependências necessárias.
- run.sh: Facilita a execução da ferramenta com comandos predefinidos.
-
Relatório Externo:
- Relatório HTML gerado pelo script separado
geraR.py
, melhorando modularidade.
- Relatório HTML gerado pelo script separado
-
Organização do Código:
- Estrutura modularizada, separando responsabilidades e facilitando manutenção.
-
Scripts de Automalização:
- setup.sh para configuração rápida do ambiente.
- run.sh para execução automatizada da ferramenta.
-
Salvamento Detalhado:
- Respostas brutas dos endpoints salvas para análise posterior.
- Python 3.x instalado.
- Execute o script de configuração para instalar dependências:
./setup.sh
Para usar Burp Suite ou outra ferramenta intermediária:
PROXIES = {
"http": "http://127.0.0.1:8080",
"https": "http://127.0.0.1:8080"
}
USE_PROXY = False # Ative o proxy conforme necessário.
-
Use o script de execução rápida:
./run.sh
-
Forneça os parâmetros solicitados:
- URL base da API.
- Configuração do proxy (se aplicável).
- Arquivo ou URL da especificação OpenAPI.
- Método de autenticação.
-
Geração de Relatório:
- Após os testes, o
geraR.py
será executado automaticamente. - Relatório em HTML será gerado com os resultados detalhados.
- Após os testes, o
├── reports/ # Diretório onde serão salvos os relatórios
├── ApiScan.py # Script principal para testes.
├── geraR.py # Script para geração de relatórios.
├── requirements.txt # Dependências necessárias.
├── setup.sh # Script de configuração do ambiente.
├── run.sh # Script para execução automatizada.
Contribuições são bem-vindas! Envie sugestões, relatórios de bugs ou melhorias por meio de pull requests.