Skip to main content
NewsPublished

UltraViolet: your own Shodan, in Docker, with CVE/KEV/EPSS

Source Reddit Cybersecurity

0

Discussion

UltraViolet is an open-source, self-hosted network discovery and search tool designed to run in Docker on user hardware. It performs TCP/UDP scanning and probes approximately 100 protocols to gather service and infrastructure information, including HTTP bodies, TLS fingerprints, and CVE matching using local NVD, KEV, and EPSS data. It is intended for authorized scanning of owned networks and does not perform exploitation or intrusive vulnerability scanning. The tool supports role-based access control, audit logging, and alerting on saved searches. It is not a cloud service and requires user deployment and management.

r/cybersecurity (opens in a new tab)u/Dapper_Shape72560 points0 comments

Been hacking on UltraViolet for a while - basically network discovery and search you run yourself. Shodan vibes, except the data sits in your Postgres behind a normal Docker Compose stack. Not SaaS, not multi-tenant. One install, your hardware.

You give it CIDRs you're actually allowed to hit (please only stuff you own or have written permission for). It finds open TCP/UDP ports, then probes a bunch of protocols - HTTP/HTTPS with bodies, titles, tech guesses, favicon hash, robots.txt, security.txt; TLS with certs, JARM, JA3S/JA4S; mail, LDAP, common DBs and queues; some ICS/SCADA and IoT stuff too. Roughly ~100 probe types last I counted. Discovery can be the built-in scanner or masscan/zmap if you want it faster.

Results go into Postgres. Search is full-text over banners, HTTP bodies, TLS bits, DNS, CVEs - handy when you're trying to answer "where is this nginx version still hanging around" without living in spreadsheets.

Why I wanted this:

  • perimeter / inventory that doesn't rot in a shared cloud account
  • rescan diffs (new, gone, changed) plus websocket updates while scans run
  • CVE side is local NVD mirror + fingerprint matching, with KEV and EPSS layered on
  • offline tarball exists if you need air-gap (images, optional CVE seed, GeoIP db)
  • saved searches can alert to logs or webhooks, with cooldowns so one chatty host doesn't wreck your day

What it is not: an exploit scanner. No L2 mapping, no agents everywhere, no "scan the whole internet" product angle. Single tenant on purpose.

Stack is boring on purpose - Go API + worker, React UI, Postgres 16. RBAC (viewer / operator / admin), JWT + refresh, audit log, rate limits, schedules, Prometheus metrics, optional Grafana profile. Dev is clone, secrets in service-env, make dev, UI on :3000. Production mode kills the default admin/admin thing.

Repo: https://github.com/yakushstanislav/UltraViolet

References

Community reviews

Loading reviews…