{"adoption": {"forks": 578, "observed_at": "2026-08-28T04:07:41.174783+00:00", "stars": 3061}, "canonical_url": "https://ross.abutalabs.com/products/dnsrecon", "card": {"archived": false, "artifact_type": "cli-tool", "description": "DNS Enumeration Script", "domain": ["security", "penetration-testing", "networking", "osint"], "enriched": true, "function": ["security", "networking", "cli", "web-scraping"], "health_score": 98, "homepage": null, "language": "Python", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["darkoperator/dnsrecon"], "name": "darkoperator/dnsrecon", "platform": ["python", "cli", "windows", "cross-platform"], "pushed_at": "2026-08-17T05:51:22+00:00", "repo": "darkoperator/dnsrecon", "stars": 3061, "tags": ["dns-enumeration", "dns-recon", "zone-transfer", "subdomain-bruteforce", "reconnaissance", "shodan-integration", "rest-api", "command-line", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["enumerate DNS records for a domain", "check if a zone transfer is possible on nameservers", "brute force subdomains with a wordlist", "perform reverse DNS lookups on an IP range or CIDR", "expand TLDs and check wildcard resolution", "enrich enumeration results with Shodan netblock data", "run DNS recon through a REST API"], "what_it_is": "DNSRecon is a Python-based DNS enumeration tool for security assessments and network troubleshooting. It supports zone transfer checks, general record enumeration, SRV and TLD expansion, subdomain brute forcing, PTR lookups, cache snooping, and optional Shodan netblock enrichment via CLI or a bundled REST API.", "when_to_avoid": ["you need a GUI-driven reconnaissance platform rather than a CLI tool", "you only need a quick single DNS lookup rather than full enumeration", "you require a tool that runs on Python versions older than 3.12"], "when_to_choose": ["you need a scriptable, comprehensive DNS enumeration tool during a security assessment", "you want passive and active DNS recon including brute forcing and cache snooping", "you want Shodan-enriched netblock expansion from SPF and WHOIS data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dnsrecon", "repo": "darkoperator/dnsrecon", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:41.174783+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:28:19.655558+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a1d029f87658f8c49dcb8aa5465071882dc8c5da1479094ebfb4d4ca436b2b3b", "fetched_at": "2026-08-28T04:07:41.174783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/darkoperator/dnsrecon"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 78}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5739, "days_push": 16, "days_rel": 66, "gap_med": 36.0, "n_releases_24m": 11}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}