Parent
#46
What to build
Fingerprinter::analyze_cold(host: &str, dns: &DnsClient, rdap: &RdapClient) -> Vec<Detection> is a new async method gated behind operator opt-in. It resolves A/AAAA/CNAME records via the existing discovery::dns client, queries RDAP for the resolved IP via the existing discovery::rdap client, then calls DnsSource::classify_cnames and AsnSource::classify with the results.
Never auto-runs from process_job. The CLI surface in C13 enables it via --deep-fingerprint; programmatic callers invoke analyze_cold directly.
Acceptance criteria
Blocked by
Parent
#46
What to build
Fingerprinter::analyze_cold(host: &str, dns: &DnsClient, rdap: &RdapClient) -> Vec<Detection>is a new async method gated behind operator opt-in. It resolves A/AAAA/CNAME records via the existingdiscovery::dnsclient, queries RDAP for the resolved IP via the existingdiscovery::rdapclient, then callsDnsSource::classify_cnamesandAsnSource::classifywith the results.Never auto-runs from
process_job. The CLI surface in C13 enables it via--deep-fingerprint; programmatic callers invokeanalyze_colddirectly.Acceptance criteria
Fingerprinter::analyze_cold(host, &dns_client, &rdap_client) -> Vec<Detection>implementeddiscovery::dns(no new external dep)discovery::rdap(no new external dep)DnsSource::classify_cnamesAsnSource::classifyCrawler::process_jobBlocked by