Files
rengine/shared/utils
Yogesh Ojha 4bd86e79c7 Reduce correlation false positives and bound correlation queries
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)
2026-05-31 07:18:40 +05:30
..