
Plataforma de gerenciamento de vulnerabilidades que importa relatórios de scanners, enriquece com inteligência do CISA KEV e Exploit-DB, e fornece pontuação de risco contextual para remediação priorizada.
Uma plataforma abrangente de gerenciamento de vulnerabilidades que analisa relatórios de varredura de segurança, enriquece dados de vulnerabilidades com inteligência de exploração e fornece pontuação de risco acionável para remediação priorizada.
*** O uso do processo de Enriquecimento de CVE no primeiro upload pode desacelerar o processo de upload. Ele tentará enriquecer apenas vulnerabilidades carregadas que estejam marcadas como exploráveis nas suas varreduras, mas o tempo pode variar significativamente dependendo do tamanho do arquivo enviado.***

O painel fornece uma visão geral da sua postura de segurança com:
Navegue, filtre e classifique vulnerabilidades por:

Visão detalhada incluindo:

Opção A: Usando o instalador
node --version
npm --version
Opção B: Use uma versão estável do Node (Recomendada)
nvm install 22.12.0
nvm use 22.12.0
Opção C: Usando winget (Gerenciador de Pacotes do Windows)
winget install OpenJS.NodeJS.LTS
winget install Git.Git
Opção D: Usando Chocolatey
choco install nodejs-lts
choco install git
Usando Homebrew:
brew install node
brew install git
Ou baixe o instalador de https://nodejs.org
Verifique a instalação:
node --version
npm --version
# Usando o repositório NodeSource para a LTS mais recente
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs git
# Verifique
node --version
npm --version
macOS / Linux:
git clone https://github.com/jrokz2315/exploit-mapper.git
cd exploit-mapper
Windows (Prompt de Comando):
git clone https://github.com/jrokz2315/exploit-mapper.git
cd exploit-mapper
Windows (PowerShell):
git clone https://github.com/jrokz2315/exploit-mapper.git
cd exploit-mapper
Todas as plataformas:
npm run install:all
Ou instale manualmente:
macOS / Linux:
npm install
cd server && npm install
cd ../client && npm install
cd ..
Windows (Prompt de Comando):
npm install
cd server && npm install
cd ..\client && npm install
cd ..
Windows (PowerShell):
npm install
cd server; npm install
cd ..\client; npm install
cd ..
Nota (Windows): Se encontrar erros com
better-sqlite3, talvez seja necessário instalar as ferramentas de compilação do Windows:npm install --global windows-build-toolsOu instale o Visual Studio Build Tools com a carga de trabalho "Desenvolvimento para desktop com C++" em https://visualstudio.microsoft.com/visual-cpp-build-tools/
Modo de desenvolvimento (com recarregamento automático) — todas as plataformas:
npm run dev
Isso inicia tanto o servidor backend (porta 3000) quanto o servidor frontend de desenvolvimento (porta 5173).
Modo de produção — todas as plataformas:
# Compile o cliente
npm run build
# Inicie o servidor
npm start
Abra seu navegador e navegue para:
http://localhost:5173http://localhost:3000Na primeira execução, uma conta de administrador padrão é criada:
adminAdmin123!Você será solicitado a alterar esta senha no primeiro login.
exploit-mapper/
├── client/ # Frontend React
│ ├── src/
│ │ ├── components/ # Componentes de UI reutilizáveis
│ │ ├── pages/ # Componentes de página
│ │ └── App.jsx # Componente principal do app
│ ├── package.json
│ └── vite.config.js
├── server/ # Backend Express
│ ├── src/
│ │ ├── db/ # Esquema e conexão do banco de dados
│ │ ├── middleware/ # Middleware de autenticação
│ │ ├── routes/ # Rotas da API
│ │ └── services/ # Lógica de negócios
│ ├── data/ # Banco de dados SQLite (ignorado pelo git)
│ ├── uploads/ # Armazenamento temporário de uploads (ignorado pelo git)
│ └── package.json
├── package.json # Package raiz com scripts
├── .gitignore
├── LICENSE
├── CONTRIBUTING.md
└── README.md
| Método | Endpoint | Descrição |
|---|---|---|
POST | /api/auth/login | Login do usuário |
POST | /api/auth/logout | Logout do usuário |
GET | /api/auth/me | Obter usuário atual |
POST | /api/auth/change-password | Alterar senha |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /api/dashboard/summary | Métricas do painel |
GET | /api/dashboard/risk | Detalhamento de risco |
GET | /api/dashboard/trends | Tendências históricas |
GET | /api/dashboard/executive-summary | Resumo executivo |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /api/vulnerabilities | Listar (com filtro/paginação) |
GET | /api/vulnerabilities/:id | Detalhes da vulnerabilidade |
GET | /api/vulnerabilities/exploitable | Apenas exploráveis |
GET | /api/vulnerabilities/stats/summary | Estatísticas |
PATCH | /api/vulnerabilities/:id | Atualizar status |
PATCH | /api/vulnerabilities | Atualização em massa |
POST | /api/vulnerabilities/manual | Adicionar entrada manual |
DELETE | /api/vulnerabilities/:id | Excluir entrada manual |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /api/devices | Listar dispositivos |
GET | /api/devices/:id | Detalhes do dispositivo |
PATCH | /api/devices/:id | Atualizar informações do dispositivo |
| Método | Endpoint | Descrição |
|---|---|---|
POST | /api/upload | Enviar relatório de vulnerabilidade |
GET | /api/upload/info | Estatísticas de upload |
DELETE | /api/upload/clear | Limpar todos os dados |
| Método | Endpoint | Descrição |
|---|---|---|
GET | /api/reports | Listar relatórios enviados |
GET | /api/reports/:id/export | Exportar relatório |
O Exploit Mapper detecta e mapeia automaticamente colunas de vários scanners de vulnerabilidade:
| Scanner | Método de Detecção |
|---|---|
| Arctic Wolf | Colunas risk_id, asset_category |
| Nessus/Tenable | Coluna plugin_id |
| Qualys | Coluna qid |
| OpenVAS | Coluna nvt |
| Nexpose/Rapid7 | Identificador nexpose |
| CSV/Excel Genérico | Correspondência inteligente de nomes de colunas |
O parser mapeia automaticamente nomes de colunas comuns:
| Campo | Nomes de Colunas Reconhecidos |
|---|---|
| CVE | cve, cves, cve_id, vulnerability_id |
| Título | name, title, vulnerability, plugin_name |
| Descrição | description, synopsis, summary |
| Solução | solution, remediation, fix, recommendation |
| Gravidade | severity, risk_severity, risk_level |
| Pontuação CVSS | cvss, cvss_score, cvssv3_score |
| Host | hostname, asset_name, host_name, fqdn |
| Endereço IP | ip_address, host_ip, asset_ip |
Risk Score = CVSS Score + Adjustments
Adjustments:
+0.5 if in CISA KEV (actively exploited)
+0.3 if public exploit available
Overall = (Max Risk x 30%) + (Avg Risk x 40%) + (Avg Exploitable x 20%) + (Density x 10%)
With CISA KEV present: multiply by 1.05
| Componente | Peso | Descrição |
|---|---|---|
| Pontuação de Risco Máxima | 30% | Maior risco de vulnerabilidade individual |
| Pontuação de Risco Média | 40% | Média de todas as vulnerabilidades |
| Risco Explorável Médio | 20% | Média apenas das vulnerabilidades exploráveis |
| Fator de Densidade | 10% | log10(total_vulns + 1) x 3 (máx. 10) |
Crie um arquivo .env no diretório server/ (opcional — veja server/.env.example):
PORT=3000
NODE_ENV=production
SESSION_SECRET=your-secret-key
O Exploit Mapper usa SQLite para armazenamento sem configuração. O banco de dados é criado automaticamente em server/data/exploit-mapper.db na primeira execução.
Windows:
netstat -ano | findstr :3000
taskkill /PID <pid> /F
macOS / Linux:
lsof -i :3000
kill -9 <pid>
Este módulo nativo requer ferramentas de compilação C++:
:: Opção 1: Instalar via npm
npm install --global windows-build-tools
:: Opção 2: Instalar Visual Studio Build Tools
:: Baixe de https://visualstudio.microsoft.com/visual-cpp-build-tools/
:: Selecione a carga de trabalho "Desenvolvimento para desktop com C++"
Após instalar, exclua node_modules e reinstale:
cd server
rmdir /s /q node_modules
npm install
Certifique-se de que apenas uma instância do servidor esteja em execução. No Windows:
tasklist | findstr node
taskkill /IM node.exe /F
No macOS / Linux:
pkill -f "node.*index.js"
.csv, .xlsx ou .xlsSe concurrently falhar, tente executar o servidor e o cliente separadamente em duas janelas de terminal:
Terminal 1 (Servidor):
cd server
npm run dev
Terminal 2 (Cliente):
cd client
npm run dev
Consulte CONTRIBUTING.md para diretrizes detalhadas.
git checkout -b feature/amazing-feature)git commit -m 'Adiciona funcionalidade incrível')git push origin feature/amazing-feature)Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.