Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ThreatSentry-AI — ThreatSentry AI ist ein intelligentes Threat-Hunting-Dashboard, das maschinelles Lernen nutzt, um Risiken in Ihrem Netzwerk proaktiv zu identifizieren und zu priorisieren. Es automatisiert den Prozess der Erfassung von Geräteinformationen, der Anreicherung mit Schwachstellendaten und der Bewertung von Risikostufen, sodass sich Sicherheitsteams auf die kritischsten Bedrohungen konzentrieren können. | Kitploit
Tools/GitHubGitHub/eclipsemanic/threatsentry-ai
DefensivwerkzeugeAufklärungSchwachstellenanalyseInformationsbeschaffungNetzwerksicherheitBedrohungsanalyseMaschinelles LernenIncident ResponseLog-Analyse

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHubeclipsemanic/threatsentry-ai

ThreatSentry-AI

Repository anzeigen
11vor 7 MonatenNoch nicht geprüft

Über

ThreatSentry AI ist ein intelligentes Threat-Hunting-Dashboard, das maschinelles Lernen nutzt, um Risiken in Ihrem Netzwerk proaktiv zu identifizieren und zu priorisieren. Es automatisiert den Prozess der Erfassung von Geräteinformationen, der Anreicherung mit Schwachstellendaten und der Bewertung von Risikostufen, sodass sich Sicherheitsteams auf die kritischsten Bedrohungen konzentrieren können.

Teilen

ThreatSentry AI: KI-gestütztes Tool zur Bedrohungsjagd

License: MIT Python Version Framework ML Stack Database

Automatisieren Sie die Erkennung externer Assets, reichern Sie intelligent mit Daten aus mehreren Quellen an und nutzen Sie Ensemble-Machine-Learning, um Risiken vorherzusagen und zu priorisieren. Verwandeln Sie Alarmmüdigkeit in handlungsrelevante Intelligenz.

🚀 Leitbild

ThreatSentry AI eliminiert Sicherheitsalarmmüdigkeit und ermöglicht proaktive Bedrohungsjagd durch intelligente Risikopriorisierung. Es kombiniert automatisierte Asset-Erkennung, Datenanreicherung aus mehreren Quellen und fortschrittliches maschinelles Lernen, um rohe Sicherheitsdaten in handlungsrelevante Intelligenz umzuwandeln.


👨‍💻 Autor & Danksagungen

Projektleitung: EclipseManic

Entwicklungshinweis: Diese umfassende Unternehmenssicherheitsplattform wurde von einem einzelnen Entwickler mit Unterstützung durch KI-Entwicklungswerkzeuge für Codegenerierung, Optimierung und Dokumentation entworfen und entwickelt – was die Machbarkeit von KI-gestützter Softwareentwicklung für komplexe Systeme demonstriert.


📋 Executive Summary

Moderne Sicherheitsteams stehen vor beispiellosen Herausforderungen:

  • Alarmmüdigkeit: Tausende tägliche Alarme mit Signal-Rausch-Verhältnissen, die manuelle Triagen unmöglich machen
  • Fragmentierte Daten: Kritischer Kontext verstreut über SIEM, CMDB, Patchsysteme und Netzwerküberwachung
  • Reaktive Haltung: Reagieren auf bekannte Bedrohungen anstatt nach aufkommenden Risiken zu jagen
  • Ressourcenbeschränkungen: Begrenzte Budgets und Personal in zunehmend komplexer Infrastruktur

ThreatSentry AI löst diese Probleme durch:

  1. Automatisierte Erkennung externer Assets über die Shodan-API für kontinuierliche Sichtbarkeit
  2. Intelligente Anreicherung aus mehreren Quellen von NVD, internen Systemen und Verhaltensanalysen
  3. ML-gestützte Risikobewertung mit Ensemble-Modellen für genaue Bedrohungspriorisierung
  4. Executive-Ready-Dashboards für handlungsrelevante Intelligenz und schnelle Reaktion
  5. Proaktive Alarmierung, die risikoreiche Assets vor Vorfällen aufdeckt

✨ Kernfunktionen

🤖 Intelligente Risikobewertungs-Engine

  • Ensemble-Machine-Learning-Modell: Kombiniert Random Forest, Gradient Boosting und neuronale Netze für robuste Risikoklassifikation
  • Multi-Faktor-Analyse: Bewertet 40+ Sicherheits- und Geschäftsattribute über einfache Schwachstellenzählungen hinaus:
    • Zeitlicher Kontext: Expositionsdauer, Patch-Verzögerung, Vorfallhistorie
    • Netzwerkposition: Status kritischer Dienste, Netzwerksegment, Firewall-Schutz
    • Verhaltenssignale: Authentifizierungsfehler, Verkehrsanomalien, Fehlalarmhistorie
    • Compliance-Auswirkungen: Datensensitivität, regulatorische Anforderungen, verbundene kritische Assets
  • Konfidenzbewertung: Jede Vorhersage enthält eine Konfidenzmetrik (0-1), damit Analysten die Zuverlässigkeit einschätzen können
  • Kontinuierliches Lernen: Das Modell trainiert automatisch in konfigurierbaren Intervallen mit Feedback-Integration nach

🌐 Automatisierte Asset-Erkennung & Intelligenzfusion

  • Shodan-Integration: Kontinuierliche Erkennung von internetverbundenen Geräten mit erweiterter Abfrageunterstützung
    • Voreingestellte Abfragen für gängige Szenarien (SSL-Zertifikate, RDP-Dienste, ICS/Modbus usw.)
    • Benutzerdefinierte Abfrageunterstützung für organisationsspezifische Asset-Jagd
  • NVD-Anreicherung: Automatische CVE-Korrelation mit intelligentem Banner-Parsing
    • Banner-Dienstextraktion mit Unterstützung für 14+ Produkttypen (Apache, Nginx, MySQL, IIS usw.)
    • CVSS-Bewertung und Schweregradklassifizierung
    • Verhindert Datenverlust: Aktualisiert CVE-Metriken nur, wenn Schwachstellen gefunden werden
  • Interne Datenintegration (Erweiterbare Architektur für Ihre Umgebung):
    • CMDB-Collector: Asset-Klassifizierung, Kritikalitätsstufen, Compliance-Tags
    • SIEM-Collector: Verhaltensmetriken, Authentifizierungsmuster, Anomalie-Scores
    • Patch-Management-Collector: Patch-Aktualität, fehlende Updates, Patch-Verzögerungsanalyse
    • Netzwerküberwachungs-Collector: Verkehrsmuster, DDoS-Erkennung, Anomalie-Scores
  • Vereinheitlichte Datenbank: SQLite mit 40+ indizierten Spalten für effizientes Abfragen und Reporting

📊 Executive Dashboard & Analysetools

  • PyQt5-basierte GUI mit Dark/Light-Theme-Unterstützung:
    • Echtzeit-Risikoverteilungsvisualisierung (Balkendiagramme mit Matplotlib)
    • Sortierbare, filterbare Gerätetabelle mit farbcodierten Risikoindikatoren
    • Schnellfilter nach Organisation, Land, Risikostufe
    • Auto-Suche über IP, Org, Land, Risikofelder
  • Interaktive Geräteinspektion:
    • Detaillierte Schwachstellenliste mit CVSS-Scores
    • Schwachstellen-Timeline und historische Verfolgung
    • Risikofaktoraufschlüsselung zur Erklärung der Bewertung
  • Massenoperationen:
    • Manuelle Scan-Auslöser (Shodan + NVD-Anreicherung)
    • CSV/JSON-Datenimport mit Feldvalidierung
    • Modellnachschulung mit Leistungsmetriken
    • Manuelles Senden von Alarmen zur Validierung von Konfigurationen
  • Analyse-Panel (Erweitert):
    • Risikoverteilungstrends
    • CVE-Auswirkungsanalyse
    • Organisationsbezogene Schwachstellenmetriken

📧 Proaktive E-Mail-Benachrichtigungen

  • SendGrid-Integration: Automatische HTML-E-Mail-Benachrichtigungen für risikoreiche Assets
    • Wird sofort bei Änderung der Risikokennzeichnung ausgelöst (Niedrig/Mittel → Hoch)
    • Verhindert doppelte Alarme durch "notified"-Statusverfolgung
  • Umfangreicher Alarminhalt:
    • Executive Summary mit Risikoscore und Konfidenz
    • Detaillierte Schwachstellenliste (Top N nach CVSS)
    • Risikofaktoraufschlüsselung für Kontext des Sicherheitsteams
    • Umsetzbare Sanierungsempfehlungen
  • Flexible Konfiguration: Definieren Sie Alarmempfänger, E-Mail-Vorlagen und Auslösebedingungen

Beispiel für eine Alarm-E-Mail

![Automatisierte Sicherheitsalarm-E-Mail-Vorlage]

Screenshot 2026-01-10 160955

HTML formatierte E-Mail mit Risikozusammenfassung, CVE-Details und Sanierungsanleitung, gesendet über SendGrid

📈 Modelltransparenz & kontinuierliche Verbesserung

  • Leistungsüberwachung:
    • Genauigkeitsverfolgung über Trainingsepochen hinweg
    • Confusion Matrix und Klassifikationsberichte
    • Feature-Wichtigkeitsanalyse zum Verständnis von Modellentscheidungen
    • Indikatoren zur Erkennung von Daten-Drift
  • Feedbackschleife:
    • Manuelle Korrekturen der Risikokennzeichnung durch Analysten
    • Verfolgung von True Positives / False Positives
    • Modellgewichtsanpassungen basierend auf Feedback
    • Automatisierter Nachschulungszeitplan mit Metadatenprotokollierung

⚡ Leistung & Zuverlässigkeit

  • Optimiert für Skalierung:
    • Datenbankindexierung auf 5+ Spalten für Abfragen unter einer Millisekunde
    • Ergebnis-Caching für häufig abgerufene Daten (28,7x Beschleunigung)
    • Paginierung mit "Load More" für große Datensätze (anfänglich 50 Zeilen + 50 Zeilen-Schritte)
    • Nicht blockierende UI mit Worker-Threads (QThread, ThreadPoolExecutor)
  • Robuste Fehlerbehandlung:
    • Exponentielles Backoff-Retry für API-Fehler (Shodan, NVD, SendGrid)
    • Graceful Degradation, falls optionale Dienste nicht verfügbar sind
    • Umfassende Protokollierung mit Datei-Rotation
    • Thread-sichere Signal/Slot-Architektur verhindert Race Conditions
  • Speichereffizient:
    • Garbage Collection nach Diagramm-Renderings
    • Lazy-geladene UI-Tabs zur Reduzierung der Startzeit
    • Session-Context-Manager gewährleisten ordnungsgemäße Bereinigung

🖖 Visuelle Übersicht

Haupt-Dashboard

![ThreatSentry AI Dashboard - Hauptschnittstelle zur Bedrohungsjagd]

Screenshot 2026-01-10 153154

Echtzeit-Risikovisualisierung mit sortierbarer Gerätetabelle und Risikoverteilungs-Balkendiagramm

Geräte-Risikobewertungstabelle

![Gerätetabelle mit Risikoindikatoren]

image

Sortierbare und filterbare Geräteliste mit farbcodierten Risikostufen (Grün=Niedrig, Gelb=Mittel, Rot=Hoch)

Erweitertes Filterpanel

![Erweiterte Filter - CVSS-Bereich, Organisation, Land, Risikostufe]

Leistungsstarke Filtersteuerungen mit CVSS-Bereich, Organisation, Land und Risikostufen-Filter + "Alle löschen"-Schaltfläche

  • CVSS-Bereichsfilter: Passen Sie den minimalen und maximalen CVSS-Score (0-10) an, um sich auf bestimmte Schweregrade zu konzentrieren
  • Organisationsfilter: Schnellfilter nach einer bestimmten Organisation aus einem Dropdown aller Organisationen in Ihrer Datenbank
  • Landfilter: Filtern Sie nach geografischem Standort, um regionale Risiken zu identifizieren
  • Risikostufenfilter: Zeigen Sie nur Geräte mit hohem, mittlerem, niedrigem Risiko oder alle Geräte für eine fokussierte Analyse an
  • Schaltfläche "Alle löschen": Ein-Klick-Reset aller Filter auf Standardwerte, um den vollständigen Datensatz erneut anzuzeigen
  • Filter anwenden: Wenden Sie sofort alle ausgewählten Filter an, Ergebnisse werden in Echtzeit angezeigt

Suchfunktion für die gesamte Datenbank

![Sucheingabe - Spaltenübergreifende Suche in der gesamten Datenbank]

Intelligente Suche, die die gesamte Gerätedatenbank durchsucht, nicht nur die aktuell angezeigten Zeilen

  • Umfassende Suche: Suche über IP-Adressen, Organisationsnamen, Länder und Risikostufen
  • Automatische IP-Erkennung: Erkennt automatisch das IP-Adressformat und sucht entsprechend
  • Vollständige Datenbankabdeckung: Suchergebnisse umfassen ALLE Geräte in der Datenbank, nicht nur die ersten 50 Zeilen
  • Echtzeit-Ergebnisse: Debounced 300ms Verzögerung für reaktionsschnelle Suche ohne Leistungseinbußen
  • Paginierungsintegration: Suchergebnisse respektieren das Paginierungssystem für effizientes Laden

Intelligente Paginierung & Unterstützung großer Datensätze

![Load More-Schaltfläche - Paginierungssteuerung]

Optimiertes Paginierungssystem für den effizienten Umgang mit Tausenden von Geräten

  • Standard-Anzeige von 50 Zeilen: Dashboard lädt anfänglich 50 Geräte für schnelles Rendering
  • Progressives Laden: "Load More (50 Zeilen)"-Schaltfläche ermöglicht inkrementelles Laden ohne Timeout
  • Speichereffizient: Zeigt nur angeforderte Zeilen an; lädt niemals den gesamten Datensatz in den Speicher
  • Leistungsoptimiert: Nicht blockierende UI verhindert Einfrieren beim Laden großer Datensätze
  • Statusanzeige: Zeigt "Zeige X von Y Geräten" für Transparenz über die gesamten verfügbaren Daten
  • Suchintegration: Suchfilter arbeiten nahtlos mit Paginierung für schnelle Ergebnisse zusammen

Analyse- und Berichterstattungspanel

![Analytics-Tab - Risikotrends und CVE-Analyse]

Screenshot 2026-01-10 153300

Historische Risikotrends, Schwachstellenanalyse und organisationsbezogene Sicherheitsmetriken

Tools & Konfiguration

![Tools-Tab - Modellstatus und Datenexport]

Screenshot 2026-01-10 153240

Modelltraining-Informationen, Leistungsmetriken, Datenexport und erweiterte Filteroptionen

E-Mail-Benachrichtigungen

Screenshot 2026-01-10 153939

![Automatisierte Sicherheitsalarm-E-Mail]

HTML formatierte E-Mail mit Executive Summary, Schwachstellendetails und Sanierungsanleitung

Manueller Scan-Workflow

![Scan-Auslöser-Dialog]

Screenshot 2026-01-10 153710

Führen Sie Shodan + NVD-Anreicherung mit detaillierter Fehlerberichterstattung und Fortschrittsanzeige aus


🛠️ Technologie-Stack

EbeneTechnologien
BackendPython 3.9+, SQLAlchemy ORM, APScheduler
ML/AIScikit-learn (Random Forest, Gradient Boosting, MLP), NumPy, Joblib
FrontendPyQt5, Matplotlib, Custom theme manager
DatenPandas, NumPy, SQLite3
APIsShodan, NVDLib, SendGrid, Requests
HilfsprogrammePython-dotenv, Logging module, Config management

🏗️ Architektur & Datenfluss```

┌─────────────────────────────────────────────────────────────┐ │ ThreatSentry AI │ ├─────────────────────────────────────────────────────────────┤ │ Scheduler (APScheduler) │ ├──────────┬──────────────┬──────────────┬───────────┬─────────┤ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ▼ Shodan NVD Lib CMDB SIEM Patch Network Collector Collector Collector Collector Mgmt Monitor

root@kitploit:~
      │              │              │           │         │
      └──────────────┴──────────────┴───────────┴─────────┘
                       │
                       ▼
              ┌─────────────────┐
              │   SQLite DB     │
              │  (40+ Columns)  │
              └────────┬────────┘
                       │
    ┌──────────────────┼──────────────────┐
    ▼                  ▼                  ▼

Feature Engine Model Training Predictions │ │ │ └─────────┬───────┴──────────┬──────┘ ▼ ▼ ┌──────────────────────┐ │ Ensemble Model │ │ (RF + GB + MLP) │ └──────────┬───────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ PyQt5 GUI Email Alerts Analytics

root@kitploit:~
### Datenverarbeitungspipeline

1. **Erkennungsphase** (Konfigurierbares Intervall, Standard 30 Minuten)
   - Shodan-Scan mit konfigurierbaren Abfragen
   - NVD-Anreicherung mit CVE-Korrelation
   - Interne Systemanreicherung für Kontext

2. **Analysephase**
   - Feature Engineering aus 40+ Attributen
   - Ensemble-Modellvorhersage (Random Forest 40% + Gradient Boosting 40% + MLP 20%)
   - Risikolabel-Generierung (0=Niedrig, 1=Mittel, 2=Hoch)
   - Konfidenzbewertung

3. **Alarmierungsphase**
   - Prüfung auf neue Hochrisiko-Assets
   - Erstellung und Versand von E-Mail-Benachrichtigungen über SendGrid
   - Aktualisierung des Benachrichtigungsstatus

4. **Modell-Neutraining** (Konfigurierbares Intervall, Standard 60 Minuten)
   - Laden aller historischen Daten
   - Feature-Extraktion
   - Training des Ensembles mit balancierten Klassen-Gewichten
   - Validierung der Leistungskennzahlen
   - Speicherung der Metadaten für die Prüfung

---

## 📋 Erste Schritte

### Voraussetzungen
- **Python**: 3.9 oder höher
- **API-Schlüssel** (erforderlich):
  - Shodan-API-Schlüssel (https://www.shodan.io/)
  - SendGrid-API-Schlüssel (https://sendgrid.com/) – für E-Mail-Benachrichtigungen
- **Optionale API-Schlüssel** (für erweiterte Anreicherung):
  - CMDB-Endpunkt und Berechtigungsnachweise
  - SIEM-Endpunkt und Berechtigungsnachweise
  - Patch-Management-System-Endpunkt und Berechtigungsnachweise
  - Netzwerküberwachungs-Endpunkt und Berechtigungsnachweise

### Installation

#### Schritt 1: Repository klonen```bash
git clone https://github.com/EclipseManic/ThreatSentry-AI.git
cd ThreatSentry-AI

Schritt 2: Virtuelle Umgebung erstellen```bash

On Windows

python -m venv .venv .venv\Scripts\activate

On macOS/Linux

python3 -m venv .venv source .venv/bin/activate

root@kitploit:~
#### Schritt 3: Abhängigkeiten installieren```bash
pip install -r requirements.txt

Schritt 4: Umgebung konfigurieren

Erstellen Sie eine .env-Datei im Stammverzeichnis des Projekts:```bash cp .env.example .env # If provided, or create new

root@kitploit:~
Bearbeiten Sie `.env` mit Ihren Anmeldedaten:```ini
# Required - Threat Discovery
SHODAN_API_KEY=your_shodan_api_key_here
SHODAN_QUERY=                          # Leave empty to use presets
SHODAN_QUERY_EMPTY_TO_PRESET=True      # Use preset queries when SHODAN_QUERY is empty

# Optional - Email Alerts
SENDGRID_API_KEY=your_sendgrid_key_here
[email protected]    # Must be verified in SendGrid
[email protected],[email protected]

# Optional - Internal Enrichment (Implement in collectors/)
CMDB_API_ENDPOINT=https://cmdb.internal/api
CMDB_API_KEY=your_cmdb_key
SIEM_API_ENDPOINT=https://siem.internal/api
SIEM_API_KEY=your_siem_key

# Configuration
SCAN_INTERVAL_MINUTES=30               # How often to scan for new assets
RETRAIN_INTERVAL_MINUTES=60            # How often to retrain the model
MAX_SHODAN_RESULTS=50                  # Results per Shodan query
LOG_LEVEL=INFO                         # DEBUG, INFO, WARNING, ERROR

# Paths (Optional)
SQLITE_PATH=data/db/threat_sentric_ai.db
MODEL_PATH=data/models/rf_model.pkl
LOG_FILE_PATH=data/logs/threat_sentric_ai.log

Schritt 5: Datenbank initialisieren```bash

python -c "from data import init_db; init_db()"

root@kitploit:~
#### Schritt 6: Anwendung ausführen```bash
python run.py

Das Dashboard wird gestartet, wobei der Scheduler im Hintergrund läuft.


🚀 Nutzungsanleitung

Übersicht der Dashboard-Komponenten

![Dashboard-Hauptschnittstelle mit allen Registerkarten] Registerkarten Übersicht, Analyse und Tools für eine umfassende Bedrohungsbewertung

1. Gerätetabelle & Erkennung

![Organisations- und Länderfilter mit Geräteliste] Sortierbare Gerätetabelle mit farbcodierten Risikoindikatoren (Grün=Niedrig, Gelb=Mittel, Rot=Hoch)

  • Farbcodierung: Sofortige visuelle Risikobewertung
  • Sortierbar/Filterbar: Klicken Sie auf Spaltenüberschriften oder verwenden Sie den Schnellfilter für schnelle Suche
  • Echtzeit-Updates: Das Dashboard aktualisiert sich bei Erkennung neuer Bedrohungen

2. Risikoverteilungsdiagramm

![Balkendiagramm der Risikoverteilung] Visualisierung der gesamten Sicherheitslage mit Geräteanzahl pro Risikostufe

  • Zeigt die Anzahl der Geräte in allen Risikokategorien
  • Aktualisiert in Echtzeit, wenn sich Modellvorhersagen ändern
  • Identifiziert Sicherheits-Hotspots, die sofortige Aufmerksamkeit erfordern

3. Wichtige Aktionsschaltflächen

  • Jetzt scannen: Manuelles Auslösen der Shodan- und NVD-Anreicherung mit detaillierter Fehlerberichterstattung
  • Aktualisieren: Dashboard aus dem aktuellen Datenbankzustand aktualisieren
  • Daten hochladen: Massenimport von CSV/JSON mit Geräteinformationen
  • Modell trainieren: Manuelles Nachtraining des Ensemble-Modells mit aktuellen Daten

Erweiterte Funktionen

Registerkarte Analyse

![Analysebereich - Risikotrends und Metriken]

  • Detaillierte Risikotrends im Zeitverlauf mit historischer Analyse
  • Identifizierung der am stärksten gefährdeten Dienste
  • Organisationsbezogene Risikometriken und Vergleiche
  • CVE-Auswirkungsanalyse und Schwachstellentrends

Registerkarte Tools

![Tools-Bereich - Modellstatus und Export

  • Modellstatus und Trainingsinformationen

Konfiguration

Voreingestellte Abfragen (Bearbeiten Sie core/config.py)```python

SHODAN_QUERIES = { "default": "product:apache", "web_apps": "http.title:"login" org:"Your Company"", "database": "port:27017 OR port:3306", "iot": "device:camera OR device:printer", "rdp": "port:3389", "vpn": "port:500 OR port:1194" }

root@kitploit:~
#### Benutzerdefinierte interne Kollektoren
Implementieren Sie im Verzeichnis `collectors/`:
1. Kopieren Sie die Vorlage von einem vorhandenen Kollektor
2. Aktualisieren Sie die `_collect()`-Methode mit Ihren API-Aufrufen
3. Geben Sie Anreicherungsdaten zurück
4. Registrieren Sie im Scheduler (`core/scheduler.py`)

#### Anpassung von E-Mail-Benachrichtigungen
Bearbeiten Sie `alerts/email_alerts.py`:
- Ändern Sie die HTML-Vorlage für Marken-E-Mails
- Fügen Sie benutzerdefinierte Risikofaktorbeschreibungen hinzu
- Passen Sie Empfehlungen zur Behebung an

---

## 📊 Datenmodell

### Gerätetabelle (40+ Spalten)```
Core Identifiers:  ip, org, country, first_seen, last_seen
Vulnerability:     cve_count, max_cvss, vulnerabilities (rel)
Security Metrics:  auth_failures_24h, traffic_anomaly_score, patch_lag_days
Risk Assessment:   risk_label, risk_score, confidence_score
Context:          network_segment, service_category, is_critical_service
Compliance:       compliance_requirements, data_sensitivity_level
Historical:       incident_history_count, last_compromise_date, false_positive_count
Alerting:         notified, alert_history

Schwachstellentabelle```

Linked to Device: device_id (FK) CVE Info: cve_id, cvss, summary

root@kitploit:~
## 🔄 Workflow-Beispiele

### Szenario 1: Tägliche Bedrohungsjagd
1. Dashboard öffnen → Geräte mit Risiko=Hoch (rot) überprüfen
2. Auf Gerät klicken → Detaillierte CVE-Liste anzeigen
3. Organisation und Infrastrukturtyp notieren
4. Mit SIEM auf kürzliche verdächtige Aktivitäten abgleichen
5. Abhilfe nach Kritikalität und Patch-Verzögerung priorisieren

### Szenario 2: Incident Response
1. Alarm über neues Hochrisiko-Gerät erhalten
2. Dashboard zeigt Schwachstellendetails und Risikofaktoren
3. Reiter Asset-Management prüfen → Ob Gerät bekannt ist
4. Manuellen Alarm an das diensthabende SOC-Team senden
5. Nach Abhilfe aktualisiert sich das Dashboard automatisch, wenn Shodan Änderungen widerspiegelt

### Szenario 3: Risikoberichterstattung
1. Zum Reiter Analysen gehen
2. Risikoverteilungs- und Trenddiagramme exportieren
3. Organisatorische Risikohotspots identifizieren
4. Abhilfe-Fahrplan erstellen
5. Fortschritt im Laufe der Zeit mit regelmäßigen Neu-Exporten verfolgen

---

## 🔧 Fehlerbehebung

### Häufige Probleme

#### Problem: "Shodan-API-Schlüssel ungültig" (403 Forbidden)
- **Lösung**: Shodan-API-Schlüssel in `.env`-Datei überprüfen. Dashboard zeigt Fehler an, verarbeitet aber weiter
- **Hinweis**: NVD-Anreicherung wird nicht ausgeführt (verhindert Datenverlust bei API-Fehlern)

#### Problem: "Keine CVEs für Gerät gefunden"
- **Lösung**: Banner-Extraktion prüfen. Schlüsselwortliste in `collectors/nvd_collector.py` bearbeiten
- **Vorbeugung**: Manuelle Anreicherung per CSV-Upload, um CVE-Daten manuell zu setzen

#### Problem: "Modell-Konfidenz zu niedrig"
- **Lösung**: Mit mehr beschrifteten Daten erneut trainieren. Feedback zu falsch klassifizierten Geräten geben
- **Vorbeugung**: Feedbacksystem nutzen, um Trainingsdatenqualität zu verbessern

#### Problem: E-Mail-Benachrichtigungen werden nicht gesendet
- **Lösung**: SendGrid-API-Schlüssel und verifizierte Absender-E-Mail prüfen
- **Prüfen**: Umgebungsvariable `ENABLE_EMAIL_ALERTS` auf True gesetzt

#### Problem: Datenbank gesperrt oder langsame Abfragen
- **Lösung**: Sicherstellen, dass Indizes erstellt wurden (init_db() erledigt das)
- **Prüfen**: Keine doppelten Datenbankverbindungen (nur UI-Aktualisierung, kein ständiges Schreiben)

---

## 🛡️ Sicherheitsaspekte

1. **API-Schlüsselverwaltung**: Umgebungsvariablen verwenden, niemals `.env` in Git committen
2. **Datenbanksicherheit**: SQLite für Einzelbenutzer geeignet; für Mehrbenutzer auf PostgreSQL migrieren
3. **Netzwerksicherheit**: In vertrauenswürdigem Netzwerk ausführen; Netzwerksegmentierung implementieren, falls API offengelegt wird
4. **Datenschutz**: Log-Rotation konfigurieren, um Festplattenspeicher zu begrenzen. Datenaufbewahrungsrichtlinien implementieren
5. **Prüfprotokollierung**: Alle Modellentscheidungen werden mit Feature-Werten für die Nachvollziehbarkeit protokolliert

---

## 📈 Tipps zur Leistungsoptimierung

| Problem | Lösung |
|---------|--------|
| Langsames Dashboard-Laden | Seitengröße in der Konfiguration erhöhen |
| Hohe CPU-Auslastung beim Training | `n_estimators` in `model/advanced_model.py` reduzieren |
| Hoher Speicherverbrauch | Log-Bereinigung aktivieren, Diagrammauflösung reduzieren |
| Langsame Shodan-Scans | `MAX_SHODAN_RESULTS` reduzieren, spezifischere Abfragen verwenden |
| Langsame NVD-Anreicherung | API-Caching implementieren, Produktschlüsselwort-Extraktion reduzieren |

---

## 🤝 Mitwirken

Beiträge sind willkommen! Siehe [CONTRIBUTING.md](https://raw.githubusercontent.com/eclipsemanic/threatsentry-ai/HEAD/CONTRIBUTING.md) für Richtlinien.

Bereiche für Verbesserungen:
- Zusätzliche Collector-Implementierungen (Nessus, Tenable, Qualys-Integration)
- Web-API für programmatischen Zugriff
- Multi-User-Unterstützung mit rollenbasiertem Zugriff
- Erweiterte Visualisierung (Grafana/ELK-Integration)
- Kubernetes-Bereitstellungsunterstützung

---

## 📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe [LICENSE](https://github.com/eclipsemanic/threatsentry-ai/blob/main/LICENSE) für Details.

---

## 📞 Support & Kontakt

- **Issues**: GitHub Issues für Fehlerberichte und Funktionsanfragen
- **Dokumentation**: Siehe Verzeichnis [docs/](https://github.com/eclipsemanic/threatsentry-ai/blob/main/docs) für detaillierte technische Dokumentation
- **E-Mail**: Betreuerinformationen in [CODE_OF_CONDUCT.md](https://github.com/eclipsemanic/threatsentry-ai/blob/main/CODE_OF_CONDUCT.md)

---

## 🙏 Danksagungen

- **Shodan**: Für umfassende Erkennung von internetfähigen Geräten
- **NVD/NIST**: Für maßgebliche Schwachstellendaten
- **Scikit-learn**: Robuste ML-Bibliotheken und Dokumentation
- **PyQt5**: Hervorragendes GUI-Framework
- **Community**: Allen Mitwirkenden und Nutzern, die Feedback geben

---

**Mit ❤️ gemacht von EclipseManic | Sicherung der Infrastruktur von morgen heute**
pip install -r requirements.txt```

---

## 🔐 Configuration

### 1. Environment Variables (`.env` file)
Create a `.env` file in the root directory with the following structure:

```bash
# --- Shodan API-Schlüssel (Erforderlich) ---
SHODAN_API_KEY="YOUR_SHODAN_API_KEY"

# --- SendGrid E-Mail-Benachrichtigungen (Erforderlich) ---
SENDGRID_API_KEY="YOUR_SENDGRID_API_KEY"
SENDER_EMAIL="[email protected]"
ALERT_RECIPIENTS="[email protected],[email protected]"

# --- Datenbank ---
SQLITE_PATH="threat_sentric_ai.db"

# --- Modell ---
MODEL_PATH="threatsentry_model.pkl"

# --- Planer ---
SCAN_INTERVAL_MINUTES="30"
RETRAIN_INTERVAL_MINUTES="60"
RETRAIN_ON_SCHEDULE="True"

# --- Shodan Abfrageverhalten-Steuerung ---
SHODAN_QUERY=""
SHODAN_QUERY_EMPTY_TO_PRESET="True"

# --- Protokollierung ---
LOG_LEVEL="INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL

# --- Interne System-Anmeldeinformationen (Optional - Nach Bedarf für Ihre Sammler hinzufügen) ---
# CMDB_API_ENDPOINT="..."
# CMDB_API_KEY="..."
# SIEM_API_ENDPOINT="..."
# SIEM_API_KEY="..."
# PATCH_API_ENDPOINT="..."
# PATCH_API_KEY="..."
# NETWORK_MONITOR_ENDPOINT="..."
# NETWORK_MONITOR_KEY="..."```

> The app loads environment variables via `os.getenv()` in `config.py`.  
> Never commit this file to version control.

---

## 🔍 Shodan Query Presets (`config.py`)

Modify the `SHODAN_QUERIES` dictionary to define your custom query presets:

```python
SHODAN_QUERIES = {
    "default": "product:apache",
    "org": 'org:"Your Company Name"',
    "net": 'net:"123.45.67.0/24"',
    "ssl": 'ssl:"yourcompany.com"',
    "hostname": 'hostname:".yourcompany.com"',
    "rdp": 'port:3389 "remote desktop"',
    "mongodb": 'port:27017 "mongodb"',
    "ics_modbus": 'port:502 "modbus"',
    "vuln_example": 'vuln:CVE-2024-12345',
    "http_login": 'http.title:"Login" org:"Your Company"'
}```

If `SHODAN_QUERY` in `.env` is empty **and** `SHODAN_QUERY_EMPTY_TO_PRESET=True`,  
the scheduler will automatically cycle through these presets.

---

## 🧠 Implementing Internal Collectors

> ⚠️ **Important:** The internal collectors (`cmdb_collector.py`, `siem_collector.py`, `patch_collector.py`, `network_monitor_collector.py`) are **placeholders**.  
> Replace the placeholder logic with real integrations to your systems.

You’ll need to:
- Fetch internal data using APIs, databases, or SDKs.
- Map fetched data to the `Device` model attributes.
- Update the database session with this enriched information.

Without these integrations, the model will lack context for accurate predictions.

---

## 🧪 Running the Application

### (Optional) Generate Initial Training Data
```bash
python scripts/generate_realistic_training_data.py --count 1000```
Creates `scripts/my_training_data.json`.  
You can upload this file through the GUI’s **Upload** option to initialize training data.

### Launch the Application
```bash
python run.py```
The GUI will open and the scheduler will start scanning, enriching, and predicting automatically.

---

## ⚡ Quick Demo with Generated Data

1. Complete installation (steps 1–3).  
2. Set up your `.env` file (even with placeholder keys).  
3. Optionally adjust Shodan presets in `config.py`.  
4. Generate data:
   ```bash
python scripts/generate_realistic_training_data.py --count 500   ```
5. Launch the app:
   ```bash
python run.py   ```
6. In the GUI:
   - Select **Upload** → Choose `scripts/my_training_data.json`
   - Click **Refresh** to view populated device data and risk levels.

---

## 🛠️ Scripts and Usage Guide

| Script | Description |
|--------|--------------|
| **run.py** | Main entry point. Starts DB, scheduler, and GUI. |
| **scheduler.py** | Handles periodic scanning, enrichment, prediction, and retraining. |
| **scripts/generate_realistic_training_data.py** | Generates realistic training data for testing or bootstrapping. |
| **scripts/clear_db_enhanced.py** | Interactively clean database or reset notification flags. |
| **scripts/reset_db.py** | Completely resets the database. Use with caution. |

### Example Commands

```bash
# Generiere 1000 Datensätze
python scripts/generate_realistic_training_data.py --count 1000

# Bereinigungsoptionen anzeigen
python scripts/clear_db_enhanced.py --help

# Alle Geräte und Schwachstellen löschen
python scripts/clear_db_enhanced.py --delete-devices --delete-vulns

# Benachrichtigungs-Flag zurücksetzen
python scripts/clear_db_enhanced.py --reset-notified

# Gefährlicher vollständiger Reset
python scripts/reset_db.py```

---

## 💬 Feedback & Suggestions

This project was developed by **EclipseManic**.  
While code contributions are currently closed, your **feedback and bug reports** are highly appreciated.

Please open an [Issue](https://github.com/EclipseManic/ThreatSentry-AI/issues) to share your thoughts or report a problem.

---

## 📄 License

This project is licensed under the **MIT License**.  
See the [LICENSE](https://github.com/eclipsemanic/threatsentry-ai/blob/main/LICENSE) file for details.
Tool herunterladen