
Piattaforma di gestione delle vulnerabilità che importa report di scanner, arricchisce con intelligence di CISA KEV ed Exploit-DB, e fornisce punteggio di rischio contestuale per una remediation prioritaria.
Una piattaforma completa di gestione delle vulnerabilità che analizza i report di scansione di sicurezza, arricchisce i dati delle vulnerabilità con intelligence sugli exploit e fornisce punteggi di rischio attuabili per una remediation prioritaria.
*** L'uso del processo di arricchimento CVE al primo upload può rallentare il processo di upload. Cercherà di arricchire solo le vulnerabilità caricate che sono contrassegnate come sfruttabili dalle scansioni, ma i tempi possono variare significativamente in base alla dimensione del file caricato.***

La dashboard fornisce una visione d'insieme del tuo stato di sicurezza con:
Sfoglia, filtra e ordina le vulnerabilità per:

Vista dettagliata che include:

Opzione A: Utilizzo dell'installer
node --version
npm --version
Opzione B: Utilizzare una versione stabile di Node (Raccomandato)
nvm install 22.12.0
nvm use 22.12.0
Opzione C: Utilizzo di winget (Windows Package Manager)
winget install OpenJS.NodeJS.LTS
winget install Git.Git
Opzione D: Utilizzo di Chocolatey
choco install nodejs-lts
choco install git
Utilizzo di Homebrew:
brew install node
brew install git
Oppure scarica l'installer da https://nodejs.org
Verifica l'installazione:
node --version
npm --version
# Utilizzo del repository NodeSource per l'ultima LTS
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs git
# Verifica
node --version
npm --version
macOS / Linux:
git clone https://github.com/jrokz2315/exploit-mapper.git
cd exploit-mapper
Windows (Prompt dei comandi):
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
Tutte le piattaforme:
npm run install:all
Oppure installare manualmente:
macOS / Linux:
npm install
cd server && npm install
cd ../client && npm install
cd ..
Windows (Prompt dei comandi):
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 incontri errori con
better-sqlite3, potresti aver bisogno di installare gli strumenti di build di Windows:npm install --global windows-build-toolsOppure installa Visual Studio Build Tools con il carico di lavoro "Sviluppo desktop con C++" da https://visualstudio.microsoft.com/visual-cpp-build-tools/
Modalità sviluppo (con hot reload) — tutte le piattaforme:
npm run dev
Questo avvia sia il server backend (porta 3000) che il server frontend di sviluppo (porta 5173).
Modalità produzione — tutte le piattaforme:
# Compila il client
npm run build
# Avvia il server
npm start
Apri il browser e vai a:
http://localhost:5173http://localhost:3000Al primo avvio, viene creato un account amministratore predefinito:
adminAdmin123!Ti verrà richiesto di cambiare questa password al primo accesso.
exploit-mapper/
├── client/ # Frontend React
│ ├── src/
│ │ ├── components/ # Componenti UI riutilizzabili
│ │ ├── pages/ # Componenti delle pagine
│ │ └── App.jsx # Componente principale dell'app
│ ├── package.json
│ └── vite.config.js
├── server/ # Backend Express
│ ├── src/
│ │ ├── db/ # Schema e connessione al database
│ │ ├── middleware/ # Middleware di autenticazione
│ │ ├── routes/ # Route API
│ │ └── services/ # Logica di business
│ ├── data/ # Database SQLite (gitignored)
│ ├── uploads/ # Archiviazione temporanea upload (gitignored)
│ └── package.json
├── package.json # Pacchetto root con script
├── .gitignore
├── LICENSE
├── CONTRIBUTING.md
└── README.md
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET | /api/reports | Elenco report caricati |
GET | /api/reports/:id/export | Esporta report |
Exploit Mapper rileva automaticamente e mappa le colonne di vari scanner di vulnerabilità:
Il parser mappa automaticamente i nomi di colonna comuni:
Punteggio di Rischio = Punteggio CVSS + Ajustamenti
Ajustamenti:
+0,5 se presente in CISA KEV (sfruttata attivamente)
+0,3 se exploit pubblico disponibile
Complessivo = (Rischio Max x 30%) + (Rischio Medio x 40%) + (Media Sfruttabili x 20%) + (Densità x 10%)
Con presenza di CISA KEV: moltiplica per 1.05
Crea un file .env nella directory server/ (opzionale — vedi server/.env.example):
PORT=3000
NODE_ENV=production
SESSION_SECRET=your-secret-key
Exploit Mapper utilizza SQLite per l'archiviazione a configurazione zero. Il database viene creato automaticamente in server/data/exploit-mapper.db al primo avvio.
Windows:
netstat -ano | findstr :3000
taskkill /PID <pid> /F
macOS / Linux:
lsof -i :3000
kill -9 <pid>
Questo modulo nativo richiede gli strumenti di build C++:
:: Opzione 1: Installare tramite npm
npm install --global windows-build-tools
:: Opzione 2: Installare Visual Studio Build Tools
:: Scarica da https://visualstudio.microsoft.com/visual-cpp-build-tools/
:: Seleziona il carico di lavoro "Sviluppo desktop con C++"
Dopo l'installazione, elimina node_modules e reinstalla:
cd server
rmdir /s /q node_modules
npm install
Assicurati che sia in esecuzione una sola istanza del server. Su Windows:
tasklist | findstr node
taskkill /IM node.exe /F
Su macOS / Linux:
pkill -f "node.*index.js"
.csv, .xlsx o .xlsSe concurrently fallisce, prova ad avviare server e client separatamente in due finestre di terminale:
Terminale 1 (Server):
cd server
npm run dev
Terminale 2 (Client):
cd client
npm run dev
Vedi CONTRIBUTING.md per linee guida dettagliate.
git checkout -b feature/funzionalità-straordinaria)git commit -m 'Aggiunge funzionalità straordinaria')git push origin feature/funzionalità-straordinaria)Questo progetto è concesso in licenza sotto la licenza MIT - consulta il file LICENSE per i dettagli.
| Metodo | Endpoint | Descrizione |
|---|
POST | /api/auth/login | Accesso utente |
POST | /api/auth/logout | Disconnessione utente |
GET | /api/auth/me | Ottieni utente corrente |
POST | /api/auth/change-password | Cambia password |
| Metodo | Endpoint | Descrizione |
|---|
GET | /api/dashboard/summary | Metriche dashboard |
GET | /api/dashboard/risk | Suddivisione del rischio |
GET | /api/dashboard/trends | Tendenze storiche |
GET | /api/dashboard/executive-summary | Riepilogo esecutivo |
| Metodo | Endpoint | Descrizione |
|---|
GET | /api/vulnerabilities | Elenco (con filtri/paginazione) |
GET | /api/vulnerabilities/:id | Dettagli vulnerabilità |
GET | /api/vulnerabilities/exploitable | Solo sfruttabili |
GET | /api/vulnerabilities/stats/summary | Statistiche |
PATCH | /api/vulnerabilities/:id | Aggiorna stato |
PATCH | /api/vulnerabilities | Aggiornamento multiplo |
POST | /api/vulnerabilities/manual | Aggiungi voce manuale |
DELETE | /api/vulnerabilities/:id | Elimina voce manuale |
| Metodo |
|---|
| Endpoint |
|---|
| Descrizione |
|---|
GET | /api/devices | Elenco dispositivi |
GET | /api/devices/:id | Dettagli dispositivo |
PATCH | /api/devices/:id | Aggiorna info dispositivo |
| Metodo | Endpoint | Descrizione |
|---|
POST | /api/upload | Carica report vulnerabilità |
GET | /api/upload/info | Statistiche upload |
DELETE | /api/upload/clear | Cancella tutti i dati |
| Scanner | Metodo di rilevamento |
|---|
| Arctic Wolf | colonne risk_id, asset_category |
| Nessus/Tenable | colonna plugin_id |
| Qualys | colonna qid |
| OpenVAS | colonna nvt |
| Nexpose/Rapid7 | identificativo nexpose |
| CSV/Excel generico | Abbinamento intelligente dei nomi di colonna |
| Campo | Nomi di colonna riconosciuti |
|---|
| CVE | cve, cves, cve_id, vulnerability_id |
| Titolo | name, title, vulnerability, plugin_name |
| Descrizione | description, synopsis, summary |
| Soluzione | solution, remediation, fix, recommendation |
| Gravità | severity, risk_severity, risk_level |
| Punteggio CVSS | cvss, cvss_score, cvssv3_score |
| Host | hostname, asset_name, host_name, fqdn |
| Indirizzo IP | ip_address, host_ip, asset_ip |
| Componente | Peso | Descrizione |
|---|
| Punteggio di Rischio Max | 30% | Rischio della singola vulnerabilità più alta |
| Punteggio di Rischio Medio | 40% | Media su tutte le vulnerabilità |
| Rischio Medio Sfruttabili | 20% | Media delle sole vulnerabilità sfruttabili |
| Fattore di Densità | 10% | log10(vuln_totali + 1) x 3 (max 10) |