
Ferramenta automatizada de teste de segurança de API que varre APIs REST e SOAP em busca de vulnerabilidades usando especificações OpenAPI/Swagger e arquivos WSDL. Implanta uma pilha completa com OWASP ZAP, MariaDB e MongoDB
API Scanner é uma ferramenta automatizada de teste de segurança de APIs que verifica APIs REST e SOAP em busca de vulnerabilidades usando especificações OpenAPI/Swagger e arquivos WSDL.
git clone https://github.com/CSPF-Founder/api-scanner-docker.git
cd api-scanner-docker
python3 setup.py
O script irá:
./certs/).envAbra https://localhost:4455 no seu navegador.
Se estiver usando um certificado autoassinado, seu navegador mostrará um aviso de segurança - prossiga para aceitá-lo.
Se preferir configurar manualmente em vez de usar o script de configuração:
cp .env.example .env
Edite .env e atualize:
change_me_* com valores aleatórios fortesCSRF_KEY com uma string aleatória de 32+ caracteresZAP_API_KEY com uma string aleatóriaTRUSTED_ORIGINS com seu domínio (ex.: https://scanner.yourcompany.com)DATABASE_URI e MONGO_DATABASE_URI correspondam às variáveis de senha individuaisInicie o stack:
docker compose up -d
Toda a configuração é feita através do arquivo .env. Veja o .env.example para todas as opções disponíveis.
Todos os dados são armazenados em volumes nomeados do Docker:
mariadb_data - Contas de usuário, papéis, sessõesmongodb_data - Registros de varredura, resultados, relatóriosscanner_data - Arquivos de trabalho, especificações enviadas, relatórios geradosdocker compose pull
docker compose up -d
docker compose down
Para remover todos os dados (destrutivo):
docker compose down -v
Verifique os logs:
docker compose logs api-scanner
docker compose logs zap
Verifique a saúde do serviço:
docker compose ps
ZAP não está iniciando: Certifique-se de ter pelo menos 4 GB de RAM livre. O ZAP requer ~3 GB.
Painel não acessível: Verifique se os certificados TLS estão em ./certs/ e se TRUSTED_ORIGINS corresponde à sua URL incluindo a porta (ex.: https://localhost:4455).
Erros de conexão com o banco de dados: Aguarde 30-60 segundos após a primeira inicialização para que os bancos de dados sejam inicializados.
Manual completo do usuário: https://cspf-founder.github.io/api-scanner-docker/
| Serviço | Imagem | Descrição |
|---|
| api-scanner | cysecurity/api-scanner:latest | Painel web + motor de varredura em um único contêiner |
| zap | ghcr.io/zaproxy/zaproxy:stable | Scanner de segurança OWASP ZAP |
| mariadb | mariadb:10.11 | Gerenciamento de usuários e armazenamento de sessões |
| mongodb | mongo:4.4 | Dados de varredura, resultados e relatórios |
| Variável | Descrição |
|---|
MARIADB_PASSWORD | Senha do usuário da aplicação MariaDB |
MONGO_APP_PASSWORD | Senha do usuário da aplicação MongoDB |
CSRF_KEY | Chave de proteção CSRF (32+ caracteres) |
ZAP_API_KEY | Chave de autenticação da API do ZAP |
TRUSTED_ORIGINS | Origens HTTPS permitidas para o painel |
USE_TLS | Habilitar HTTPS (padrão: true) |
TZ | Fuso horário (padrão: UTC) |