Skip to content

BernardoEllwanger/vulnscanner

Repository files navigation

VulnScanner

Scanner de vulnerabilidades web com dashboard interativo. Combina análise própria de segurança com ferramentas externas reconhecidas do mercado em uma interface unificada.

Python Flask React

Sobre

VulnScanner realiza varreduras automatizadas em aplicações web, identificando vulnerabilidades comuns como XSS, SQL Injection, CSRF, CORS misconfiguration, headers de segurança ausentes, exposição de informações sensíveis, e muito mais. O dashboard permite acompanhar o progresso do scan em tempo real via SSE (Server-Sent Events) e consultar relatórios detalhados.

Funcionalidades

  • Crawling inteligente com suporte a profundidade configurável e descoberta de formulários dinâmicos (SPA)
  • Análise de vulnerabilidades: XSS (reflected/stored), SQL Injection, Open Redirect, CSRF, IDOR, Broken Access Control
  • Verificação de headers de segurança: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, etc.
  • Análise de SSL/TLS, cookies, JWT e CORS
  • Reconhecimento de infraestrutura: resolução DNS, detecção de IP, port scanning de portas comuns
  • Descoberta de recursos: páginas, API endpoints, arquivos JS, formulários
  • Autenticação: suporte a Bearer Token e login via formulário
  • Dashboard em tempo real com logs via SSE
  • Relatórios detalhados com filtro por severidade, armazenados via localStorage
  • Reconhecimento separado por URL com dados de infraestrutura por alvo

Ferramentas Externas Integradas

O scanner integra ferramentas de segurança reconhecidas como módulos opcionais:

Ferramenta Descrição Referência
Nuclei Scanner de vulnerabilidades baseado em templates projectdiscovery/nuclei
SQLMap Detecção e exploração automática de SQL Injection sqlmapproject/sqlmap
Gitleaks Detector de segredos e credenciais em código gitleaks/gitleaks
TruffleHog Scanner de segredos com verificação de credenciais trufflesecurity/trufflehog

As ferramentas são detectadas automaticamente se estiverem no PATH do sistema.

Instalação

Backend

git clone https://github.com/BernardoEllwanger/vulnscanner.git
cd vulnscanner
pip install -r requirements.txt

Frontend

cd frontend
npm install
npm run build

Ferramentas Externas (opcional)

Baixe os binários e adicione ao PATH do sistema:

Uso

Dashboard (recomendado)

python app.py

Acesse http://localhost:5000 no navegador. O dashboard permite:

  1. Configurar a URL alvo e autenticação
  2. Selecionar ferramentas externas disponíveis
  3. Acompanhar o scan em tempo real
  4. Consultar relatórios e recursos descobertos

CLI

python scanner.py https://meusite.com
python scanner.py https://meusite.com --token "eyJhbGciOi..."
python scanner.py https://meusite.com --login-url https://meusite.com/login -u admin -p senha123

Deploy

O projeto está configurado para deploy em produção:

  • Frontend (Vercel): build estático do React servido via CDN
  • Backend (Railway): Flask com Gunicorn, SSE para logs em tempo real, ferramentas externas baixadas automaticamente via build.sh

Para configurar o frontend em produção, defina a variável de ambiente VITE_API_URL apontando para a URL do backend.

Arquitetura

├── app.py              # Backend Flask (API REST + SSE)
├── scanner.py          # Engine de scan (crawling, análise, relatórios)
├── tools/              # Wrappers para ferramentas externas
│   ├── base.py         # Classe base abstrata
│   ├── nuclei.py       # Nuclei wrapper
│   ├── sqlmap.py       # SQLMap wrapper
│   ├── gitleaks.py     # Gitleaks wrapper
│   └── trufflehog.py   # TruffleHog wrapper
├── frontend/           # React + Vite
│   └── src/
│       ├── App.jsx
│       └── components/ # ScanPanel, ReportsTab, ReportDetail, DiscoveryTab, etc.
├── build.sh            # Download de ferramentas externas (Linux) para deploy
├── Procfile            # Configuração do Gunicorn
├── railway.json        # Configuração do Railway
├── vercel.json         # Configuração do Vercel
└── requirements.txt

Disclaimer

Uso autorizado apenas. Esta ferramenta deve ser utilizada exclusivamente em aplicações de sua propriedade ou com permissão explícita do proprietário. O uso não autorizado pode violar leis de segurança cibernética.

Autor

Bernardo EllwangerLinkedIn

Licença

MIT

About

Scanner de vulnerabilidades web com dashboard interativo. Integra Nuclei, SQLMap, Gitleaks e TruffleHog.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors