
Schwachstellenmanagement-Plattform, die Scannerberichte importiert, mit CISA KEV und Exploit-DB Informationen anreichert und kontextbezogene Risikobewertungen für priorisierte Behebung bietet.
Eine umfassende Plattform zur Verwaltung von Schwachstellen, die Sicherheits-Scan-Berichte analysiert, Schwachstellendaten mit Exploit-Informationen anreichert und umsetzbare Risikobewertungen für eine priorisierte Behebung bietet.
*** Die Verwendung des CVE-Anreicherungsprozesses beim ersten Hochladen kann den Uploadvorgang verlangsamen. Es werden nur Schwachstellen angereichert, die in Ihren Scans als ausnutzbar markiert sind, aber die Dauer kann je nach hochgeladener Dateigröße erheblich variieren.***

Das Dashboard bietet einen Überblick über Ihre Sicherheitslage mit:
Durchsuchen, Filtern und Sortieren von Schwachstellen nach:

Detailansicht mit:

Option A: Mit dem Installer
node --version
npm --version
Option B: Stabile Node-Version verwenden (empfohlen)
nvm install 22.12.0
nvm use 22.12.0
Option C: Mit winget (Windows-Paketmanager)
winget install OpenJS.NodeJS.LTS
winget install Git.Git
Option D: Mit Chocolatey
choco install nodejs-lts
choco install git
Mit Homebrew:
brew install node
brew install git
Oder laden Sie den Installer herunter von https://nodejs.org
Installation überprüfen:
node --version
npm --version
# Mit NodeSource-Repository für das neueste LTS
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs git
# Überprüfen
node --version
npm --version
macOS / Linux:
git clone https://github.com/jrokz2315/exploit-mapper.git
cd exploit-mapper
Windows (Eingabeaufforderung):
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
Alle Plattformen:
npm run install:all
Oder manuell installieren:
macOS / Linux:
npm install
cd server && npm install
cd ../client && npm install
cd ..
Windows (Eingabeaufforderung):
npm install
cd server && npm install
cd ..\client && npm install
cd ..
Windows (PowerShell):
npm install
cd server; npm install
cd ..\client; npm install
cd ..
Hinweis (Windows): Sollten Fehler mit
better-sqlite3auftreten, müssen Sie möglicherweise die Windows-Build-Tools installieren:npm install --global windows-build-toolsOder installieren Sie Visual Studio Build Tools mit der Workload "Desktopentwicklung mit C++" von https://visualstudio.microsoft.com/visual-cpp-build-tools/.
Entwicklungsmodus (mit Hot Reload) – alle Plattformen:
npm run dev
Dies startet sowohl den Backend-Server (Port 3000) als auch den Frontend-Entwicklungsserver (Port 5173).
Produktionsmodus – alle Plattformen:
# Client bauen
npm run build
# Server starten
npm start
Öffnen Sie Ihren Browser und navigieren Sie zu:
http://localhost:5173http://localhost:3000Beim ersten Start wird ein Standard-Admin-Konto erstellt:
adminAdmin123!Sie werden bei der ersten Anmeldung aufgefordert, dieses Passwort zu ändern.
exploit-mapper/
├── client/ # React-Frontend
│ ├── src/
│ │ ├── components/ # Wiederverwendbare UI-Komponenten
│ │ ├── pages/ # Seitenkomponenten
│ │ └── App.jsx # Haupt-App-Komponente
│ ├── package.json
│ └── vite.config.js
├── server/ # Express-Backend
│ ├── src/
│ │ ├── db/ # Datenbankschema und Verbindung
│ │ ├── middleware/ # Auth-Middleware
│ │ ├── routes/ # API-Routen
│ │ └── services/ # Geschäftslogik
│ ├── data/ # SQLite-Datenbank (gitignoriert)
│ ├── uploads/ # Temporärer Upload-Speicher (gitignoriert)
│ └── package.json
├── package.json # Root-Paket mit Skripten
├── .gitignore
├── LICENSE
├── CONTRIBUTING.md
└── README.md
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST | /api/auth/login | Benutzeranmeldung |
POST | /api/auth/logout | Benutzerabmeldung |
GET | /api/auth/me | Aktuellen Benutzer abrufen |
POST | /api/auth/change-password | Passwort ändern |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/dashboard/summary | Dashboard-Kennzahlen |
GET | /api/dashboard/risk | Risikoaufschlüsselung |
GET | /api/dashboard/trends | Historische Trends |
GET | /api/dashboard/executive-summary | Zusammenfassung für die Führungsebene |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/vulnerabilities | Auflistung (mit Filterung/Paginierung) |
GET | /api/vulnerabilities/:id | Schwachstellendetails |
GET | /api/vulnerabilities/exploitable | Nur ausnutzbare |
GET | /api/vulnerabilities/stats/summary | Statistiken |
PATCH | /api/vulnerabilities/:id | Status aktualisieren |
PATCH | /api/vulnerabilities | Massenaktualisierung |
POST | /api/vulnerabilities/manual | Manuellen Eintrag hinzufügen |
DELETE | /api/vulnerabilities/:id | Manuellen Eintrag löschen |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/devices | Geräte auflisten |
GET | /api/devices/:id | Gerätedetails |
PATCH | /api/devices/:id | Geräteinformationen aktualisieren |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST | /api/upload | Schwachstellenbericht hochladen |
GET | /api/upload/info | Upload-Statistiken |
DELETE | /api/upload/clear | Alle Daten löschen |
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET | /api/reports | Hochgeladene Berichte auflisten |
GET | /api/reports/:id/export | Bericht exportieren |
Exploit Mapper erkennt und ordnet automatisch Spalten verschiedener Schwachstellenscanner zu:
| Scanner | Erkennungsmethode |
|---|---|
| Arctic Wolf | Spalten risk_id, asset_category |
| Nessus/Tenable | Spalte plugin_id |
| Qualys | Spalte qid |
| OpenVAS | Spalte nvt |
| Nexpose/Rapid7 | Identifikator nexpose |
| Generisches CSV/Excel | Intelligente Spaltennamenszuordnung |
Der Parser ordnet automatisch gängige Spaltennamen zu:
| Feld | Erkannte Spaltennamen |
|---|---|
| CVE | cve, cves, cve_id, vulnerability_id |
| Titel | name, title, vulnerability, plugin_name |
| Beschreibung | description, synopsis, summary |
| Lösung | solution, remediation, fix, recommendation |
| Schweregrad | severity, risk_severity, risk_level |
| CVSS-Score | cvss, cvss_score, cvssv3_score |
| Host | hostname, asset_name, host_name, fqdn |
| IP-Adresse | ip_address, host_ip, asset_ip |
Risikoscore = CVSS-Score + Anpassungen
Anpassungen:
+0,5 wenn in CISA KEV (aktiv ausgenutzt)
+0,3 wenn öffentlicher Exploit verfügbar
Gesamt = (Maximales Risiko x 30%) + (Durchschnittliches Risiko x 40%) + (Durchschnittliches ausnutzbares Risiko x 20%) + (Dichte x 10%)
Bei Vorhandensein von CISA KEV: Multiplikation mit 1,05
| Komponente | Gewichtung | Beschreibung |
|---|---|---|
| Maximaler Risikoscore | 30% | Höchstes einzelnes Schwachstellenrisiko |
| Durchschnittlicher Risikoscore | 40% | Durchschnitt über alle Schwachstellen |
| Durchschnittliches ausnutzbares Risiko | 20% | Durchschnitt nur der ausnutzbaren Schwachstellen |
| Dichtefaktor | 10% | log10(gesamt_schwachstellen + 1) x 3 (max. 10) |
Erstellen Sie eine .env-Datei im Verzeichnis server/ (optional – siehe server/.env.example):
PORT=3000
NODE_ENV=production
SESSION_SECRET=your-secret-key
Exploit Mapper verwendet SQLite für eine konfigurationsfreie Speicherung. Die Datenbank wird beim ersten Start automatisch unter server/data/exploit-mapper.db erstellt.
Windows:
netstat -ano | findstr :3000
taskkill /PID <pid> /F
macOS / Linux:
lsof -i :3000
kill -9 <pid>
Dieses native Modul erfordert C++-Build-Tools:
:: Option 1: Über npm installieren
npm install --global windows-build-tools
:: Option 2: Visual Studio Build Tools installieren
:: Herunterladen von https://visualstudio.microsoft.com/visual-cpp-build-tools/
:: Workload "Desktopentwicklung mit C++" auswählen
Nach der Installation node_modules löschen und neu installieren:
cd server
rmdir /s /q node_modules
npm install
Stellen Sie sicher, dass nur eine Instanz des Servers läuft. Unter Windows:
tasklist | findstr node
taskkill /IM node.exe /F
Unter macOS / Linux:
pkill -f "node.*index.js"
.csv, .xlsx oder .xls vorliegtWenn concurrently fehlschlägt, versuchen Sie, Server und Client separat in zwei Terminalfenstern auszuführen:
Terminal 1 (Server):
cd server
npm run dev
Terminal 2 (Client):
cd client
npm run dev
Siehe CONTRIBUTING.md für detaillierte Richtlinien.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.