Zurück zu den Updates
New releaseAug 21, 2026

UltraViolet v1.0.11

Selbstgehostete Netzwerkerkennungs- und Suchmaschine mit kontinuierlichem Port-Scanning, tiefer Protokollanalyse über ~100 Dienste, lokaler CVE-Abgleich und Volltextsuche für Inventarisierung der Infrastruktur und Risikoüberwachung.

Teilen

UltraViolet

Selbst gehostete Netzwerkerkennung & -suche — dein eigenes Shodan, auf deiner Hardware.

TCP/UDP-Scans · ~100 Protokoll-Probes · TLS/JARM-Fingerprints · CVE-Abgleich · Volltextsuche · Delta-Tracking · Alarme


Go React PostgreSQL Docker CI License: MIT

Schnellstart · Funktionen · Architektur · Dokumentation · Produktion


Wichtig. Scanne nur Netzwerke, die dir gehören oder für die du eine schriftliche Genehmigung zum Scannen hast. UltraViolet führt passive Diensterkennung durch — es nutzt keine Schwachstellen aus.

Warum UltraViolet

AnwendungsfallWas du bekommst
Perimeter & InventarKontinuierliche Erkennung offener Ports und Dienste über CIDR-Bereiche
Infrastruktur-SucheVolltextsuche über HTTP-Bodies, Banner, TLS, DNS und CVEs
Risiko & ComplianceLokaler NVD-Abgleich plus CISA KEV und EPSS — keine Cloud-Abhängigkeit
Air-Gapped-BereitstellungOffline-Archiv mit Docker-Images, CVE-Seed und GeoIP-MMDB auf der Festplatte
ÄnderungsverfolgungDeltas zwischen Scans, WebSocket-Ereignisse, Alarme bei gespeicherten Suchanfragen

Einzelmandant, ein Docker-Compose-Stack, volle Kontrolle über deine Daten.

✨ Funktionen

Erkennung

  • TCP-Connect-Scanner mit masscan oder zmap als Erkennungs-Engine
  • UDP-Probes auf konfigurierbaren Ports
  • Eingegrenzt durch SCAN_ALLOWED_CIDRS mit Host- und Port-Limits

Tiefen-Probes (~100 Protokolle)

  • Web: HTTP/HTTPS, HTTP/3, GraphQL, Favicon-Hash, robots.txt, security.txt, Tech-Stack
  • TLS: Zertifikatsketten, JARM, JA3S/JA4S, Konfigurationsbewertung
  • Mail & Verzeichnisse: SMTP, POP3/IMAP, LDAP, IPMI
  • Datenbanken & Queues: MySQL, PostgreSQL, MongoDB, Redis, Kafka, MQTT, NATS, AMQP…
  • ICS/SCADA: Modbus, BACnet, DNP3, IEC 104, S7Comm, ENIP, OPC UA…
  • IoT & Medien: ONVIF, RTSP, Chromecast, AirPlay, UPnP…
  • Vollständige Liste in der Protokoll-Dokumentation

Anreicherung

  • Reverse-DNS, GeoIP (MMDB), ASN
  • Optionale Forward-DNS- und CT-Log-Erkennung

CVE & Risiko

  • Lokaler NVD-Spiegel mit Hintergrund-Synchronisierung und Fingerprint-basiertem Abgleich
  • CISA KEV und FIRST EPSS

Betrieb

  • RBAC (viewer / operator / admin), JWT + Refresh-Tokens
  • Scan-Zeitpläne, Pause/Fortsetzen, Übernahme verwaister Scans nach Worker-Neustart
  • Prometheus /metrics, optionales Grafana-Profil
  • Audit-Log, Ratenbegrenzung, Aufbewahrungsrichtlinien

🏗 Architektur

flowchart TB
  Browser["Browser"]
  FE["service-frontend<br/>React + nginx"]
  API["uv-api<br/>REST · WS · metrics"]
  PG[("PostgreSQL 16")]
  SCAN["uv-scanner<br/>probe pipeline"]

  Browser --> FE
  FE -->|"/api"| API
  FE -->|"/realtime"| API
  API <--> PG
  SCAN <--> PG
  API -.->|LISTEN/NOTIFY| API

Das Release-UI-Image proxyt /api/ und /realtime an uv-api — Single Origin, kein Frontend-Rebuild pro API-URL.

VerzeichnisZweck
service-api/Go: uv-api (HTTP-API, WebSocket, Worker) + uv-scanner (Pipeline)
service-frontend/React 19 + Vite + RTK — Scans, Hosts, Suche, Dashboard
service-documentation-frontend/VitePress — Benutzer- und Betreiber-Dokumentation
service-env/docker-compose, Secrets, install.sh / upgrade.sh / Backup

Backend-Entwicklungsregeln: CLAUDE.md.

🚀 Schnellstart

Voraussetzungen: Go 1.25+, Docker Engine ≥ 24, ~4 GB RAM. Produktions-Images zielen auf Linux amd64.

Von Docker Hub ausführen (kein Quellcode-Build)

Einsteiger-Pfad — veröffentlichte Images pullen mit service-env/docker-compose.registry.yml:

cd service-env
cp env.registry.example .env
# set POSTGRES_PASSWORD, AUTH_JWT_SECRET, AUTH_BOOTSTRAP_PASSWORD
mkdir -p geoip catalog-seed
docker compose -f docker-compose.registry.yml pull
docker compose -f docker-compose.registry.yml up -d
# UI → http://localhost:3000

Siehe Docker Registry in der Dokumentations-Site.

Aus dem Quellcode entwickeln

Die API/Scanner-Images kopieren vorgebaute Binaries aus service-api/bin/ (sie werden nicht innerhalb von Docker kompiliert). make dev führt make -C service-api build-linux aus, bevor docker compose … --build.

git clone https://github.com/yakushstanislav/UltraViolet.git
cd UltraViolet/service-env

cp .env.example .env
mkdir -p secrets
openssl rand -hex 32 > secrets/postgres_password
openssl rand -hex 32 > secrets/auth_jwt_secret

cd ..
make dev
URLZweck
http://localhost:3000UI (API über nginx /api/)
http://localhost:8080API direkt
http://localhost:9090/metricsPrometheus

Dev-Bootstrap: admin / admin (nur wenn APP_ENV≠production).

📖 Dokumentation

Vollständige Anleitung — VitePress in service-documentation-frontend/docs/:

make docs-dev    # → http://localhost:5173

In Produktion das docs-Profil aktivieren:

cd service-env && docker compose --profile docs up -d
# → http://localhost:${UV_DOCUMENTATION_PORT:-3002}

Wichtige Abschnitte: Installation · Scannen · API · Bereitstellung · Offline-Installation.

🛠 Entwicklung

Vollständiges Docker

make dev    # build-linux → compose prod + dev override --build

Go-Binaries nach Backend-Änderungen neu bauen (make -C service-api build-linux), dann neu starten oder make dev erneut ausführen.

Hybrid-Modus (schnellere Backend-Iteration)

make dev-db   # PostgreSQL only on :5432

Kategorien