INNER CODE UNIT · Python

gather_reputation

zachlagden/Pi-hole-Optimized-Blocklists · .github/triage/triage/__main__.py:51

def gather_reputation(evidence: Evidence, vt_key: str | None) -> None:
    names = [evidence.domain] + ([evidence.apex] if evidence.apex != evidence.domain else [])
    if vt_key:
        evidence.virustotal = [attempt(evidence, f"VirusTotal {name}", lambda n=name: reputation.virustotal(n, vt_key), None) for name in names]
        evidence.virustotal = [vt for vt in evidence.virustotal if vt is not None]
    if not evidence.platform:
        evidence.registration = attempt(evidence, "RDAP", lambda: reputation.registration(evidence.apex), None)
    ranks = attempt(evidence, "Tranco", lambda: reputation.tranco_ranks(CACHE_DIR / "tranco"), {})
    evidence.tranco_rank = ranks.get(evidence.domain)
    evidence.apex_tranco_rank = ranks.get(evidence.apex)
    if evidence.request.kind == "block" and ranks:
        evidence.lookalikes = find_lookalikes(evidence.domain, ranks, TYPOSQUAT_POOL)


def gather_live(evidence: Evidence, take_screenshot: bool) -> None:
    evidence.addresses = live.resolve(evidence.domain)
    evidence.fetches = attempt(evidence, "live fetch", lambda: live.fetch_all(evidence.domain), [])
    evidence.cloaking = live.cloaking_summary(evidence.fetches)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…