mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-10-20 07:11:28 +02:00
WHOIS/DNS correlation was grouping unrelated targets on low-signal keys. Add centralized privacy-redaction and shared-infrastructure detection, drop country from auto-correlation, and bound every correlation query. Backend: - shared/utils/privacy.py: detect privacy-proxy/redacted registrant names and emails (Withheld for Privacy, Domains By Proxy, WhoisGuard, GDPR masked, etc.) so they never become correlation keys - shared/utils/infra.py: detect shared/managed DNS (Cloudflare, Route 53, GoDaddy, ...) so targets are not linked merely by DNS provider - wire redaction into WHOIS entity extraction; guard correlation queries defensively so legacy redacted rows do not correlate - drop country from get_correlations_for_target (links whole regions) - filter shared nameservers out of WHOIS nameserver correlation - bound all WHOIS/DNS correlation queries (limit + distinct) - exclude CDN-fronted IPs and shared nameservers from DNS correlation - normalize country code casing at storage to fix missed matches - return accurate cache-hit provenance from WhoisService.lookup - reuse service finders from correlation API endpoints (DRY) Frontend: - remove country as a correlation type across types, API client, and the related/lookup/overview WHOIS components (still shown as a record field)