OTScan - Changelog
==================

Version 2.0.1 (27./28.09.2026) - Korrekturen aus der Produktpruefung
- Eigene NSE-Skripte (22, davon 20 OT-spezifisch) + nselib sind jetzt im
  Programm enthalten (fehlten vorher in EXE/Linux -> Nmap brach ab).
  s7-enum.nse (identisch mit s7-info.nse) wird nicht mehr doppelt geliefert.
- Testphase einheitlich 3 Tage (Windows und Linux, eine Quelle).
- Testphase manipulationsfest: Zeitstempel in der Zukunft oder gefaelschte
  Stempel beenden die Testphase, statt still eine neue zu starten; zweiter
  Ablageort (Linux: ~/.config/otscan/.tcache).
- Gegenpruefung 28.09.: Wechsel von Netzwerkadapter/Rechnername beendet eine
  echte Testphase nicht mehr vorzeitig.
- Eigenes Logo per branding_config.json im Benutzerordner (Linux:
  ~/.local/share/OTScan) - wirkt jetzt auch in der Ein-Datei-Version.
- Version/Build-Tag 2.0.1 im Fenstertitel und in den Reports.
- Linux: erstes Paket als eigenstaendige Programmdatei (Python/Tk enthalten).
- Lizenzschluessel jederzeit eingebbar: Seitenleiste "Lizenz eingeben..."
  (auch waehrend der Testphase). Handbuch 2.0.1 in docs/.

# OTScan – Changelog V2

**Herausgeber:** Jörg Hansel (HanselCraft)

## Version 2.0.0 (Juni 2026) – finaler Stand

### Risiko-Bewertung: binär gegen die SEC-BP
- Bewertung ausschließlich gegen die Security Best Practice (SEC-BP).
- Nur noch drei Zustände: GELB (SEC-BP-Port offen), GRÜN (keiner), INFO (keine Portdaten).
- ROT entfällt. "Risk Score" und "Risky Hosts" wurden aus allen Berichten entfernt.
- OT-/ICS-Protokolle (S7, Modbus, CODESYS, OPC-UA, BACnet, PROFINET ...) werden
  NICHT mehr als Verstoß gewertet – nur die unsicheren IT-Protokolle der SEC-BP.
- CRITICAL_PORTS enthält ausschließlich die in der SEC-BP gelisteten Ports.

### Berichte
- PDF-Deckblatt: 3 Kennzahlen (Hosts, offene Ports, SEC-BP-kritische Ports).
- Heatmap: "SEC-BP-Ports" (gelb) vs. "CLEAN" (grau); MaxRisk/Summen-Spalten entfernt.
- Layout-Fix in der Gerätetyp-Verteilung (Legende überlappte Tabellenzeilen).
- Linksammlung "Weiterführende ICS/OT-Security-Ressourcen" entfernt.
- Excel: Ampel-Status (SEC-BP) + Anzahl SEC-BP-Ports; Risk-Score-Spalte entfernt.

### Run-Reiter
- Export-Auswahl im Feld "Export-Status": XML (immer), Excel, PDF, PowerPoint
  einzeln wählbar. Greift für Scan-Abschluss und "Reports neu erzeugen".
- "PowerPoint pro Scan" aus dem erweiterten Menü entfernt (jetzt in der Auswahl).
- Doppelte PPTX-Erzeugung im Rebuild-Pfad behoben.
- Ampel "Risikobewertung letzter Scan" aus dem Run-Reiter entfernt
  (Aktivitäts-Spinner bleibt).

### Splunk-DB
- In die Seitenleiste verschoben (Button "Splunk-DB (n)"), aus dem erweiterten
  Menü entfernt. Firewall-Flows je Netz; fließen automatisch in Excel/PDF ein.

### Scan-Profile
- "S7/Legacy schonend" ist das empfohlene Regelbetriebs-Profil (stabil, vollständig).
- FORCE-Profil: Host-Timeout auf 1200 s erhöht (träge SPSen liefern
  damit FTP/Telnet/CODESYS/OPC-UA, die bei 600 s fehlten).
- Scan-Typen-Reiter: Portset-Erklärung mit exakten Portlisten (NONE, ICS_LIGHT,
  ICS_STANDARD, ICS_FULL), direkt aus dem Tool erzeugt.

### Stabilität / nmap
- Bekannter nmap-7.98/7.99-NSE-Absturz (lua_status == LUA_YIELD, Exit 0xC0000409)
  dokumentiert; Crash-Resilience rettet bereits erfasste Hosts.
- Netzwerk-Import (TXT/CSV) über Datei-Dialog mit Erfolgs-/Fehlermeldung repariert.

### Installer / Deinstaller
- Python-Erkennung robust: PATH + feste Pfade + Registry (HKLM und HKCU);
  alle pip-/Python-Aufrufe über den aufgelösten Pfad (funktioniert ohne PATH).
- splash.gif wird mitinstalliert; Uninstall_OTScan.bat liegt im Programmordner.
- Deinstaller: Self-Termination-Bug behoben (matcht jetzt nur die laufende App
  OTScan.py, nicht sich selbst); räumt Tasks, Verknüpfungen, Registry und
  optional die Benutzerdaten ab.

### Regression
- Regressionstest-Suite an das binäre SEC-BP-Modell angepasst (alle Tests bestehen).
