There is a gap between running a scanner on a subnet and running recon at a scale where the output needs a database, a dashboard, certificates, worker health, and regional nodes that can fail independently.

RADAR-X came from building geolocation and network intelligence tooling and hitting the ceiling of what a single box and a cron job can do. The architecture is event-driven: a central control plane coordinates discovery and scanner worker pairs across regions. MQTT carries triggers, completions, roster state, and scan events. Each worker runs assessment traffic through its own VPN namespace while management stays reachable over a separate path.

Deadknock handles port discovery. Deadscan goes deeper: nDPI, TLS fingerprinting, JA3, JA4, HASSH, service evidence, and CVE correlation against what was actually found. Writer nodes pull results through structured paths and land them in Postgres so the output is queryable infrastructure, not a folder of CSVs someone has to merge by hand.

What matters at this scale is not just the scan. It is whether the system keeps certificates, keys, workers, VPN egress, and result pipelines coherent when nodes drift or reconnect. The platform has been verified end-to-end; the real work is making that verification repeatable from the dashboard.

cat redacted-results.log sanitized logs

Redacted scan row

sanitized CSV

Representative scanner output from a public test target with volatile identifiers shortened.

sanitized-output
ts,ip,port,service,version,cves,risk,asn,egress
2026-06-02T10:48:37Z,45.33.32.[x],22,ssh,OpenSSH_6.6,23,low,AS63949,vpn-radar/us-west
2026-06-02T10:48:37Z,45.33.32.[x],80,http,Apache/2.4.7,0,medium,AS63949,vpn-radar/us-west

Pipeline completion event

redacted MQTT

Discovery, scanner, and writer events are correlated by scan id before landing in Postgres.

sanitized-output
topic: radar-x/scan/[scan-id]/complete
message:
  discovery_node: dk-us-west-[REDACTED]
  scanner_node: ds-us-west-[REDACTED]
  services: 5
  cves: 23
  duration_seconds: 38
  postgres_batch: writer-[REDACTED]
  checksum: sha256:2a7b...[REDACTED]