{"adoption": {"forks": 190, "observed_at": "2026-08-28T04:06:29.245373+00:00", "stars": 2234}, "canonical_url": "https://ross.abutalabs.com/products/puredns", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Puredns is a fast domain resolver and subdomain bruteforcing tool that can accurately filter out wildcard subdomains and DNS poisoned entries.", "domain": ["security", "osint", "networking"], "enriched": true, "function": ["search-engine", "cli", "developer-tools"], "health_score": 61, "homepage": null, "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["d3mondev/puredns"], "name": "d3mondev/puredns", "platform": ["windows", "cli", "cross-platform"], "pushed_at": "2026-02-23T16:29:40+00:00", "repo": "d3mondev/puredns", "stars": 2234, "tags": ["dns", "subdomain-bruteforcing", "dns-resolution", "bugbounty", "recon", "massdns", "wildcard-filtering", "command-line", "linux", "macos"], "topics": ["bugbounty", "subdomain", "dns", "dns-resolver", "dns-bruteforcer", "massdns", "recon", "hacking", "dns-resolution", "subdomain-bruteforcing", "dns-lookup"], "urls": [], "use_cases": ["bruteforce subdomains of a domain using a wordlist", "resolve a large list of domains quickly with public resolvers", "filter wildcard subdomains from DNS enumeration results", "clean up massdns output polluted by false positives", "detect DNS poisoning in resolution results", "integrate DNS resolution into bug bounty recon pipelines via stdin"], "what_it_is": "Puredns is a fast command-line domain resolver and subdomain bruteforcing tool written in Go. It uses massdns for bulk DNS lookups and applies a wildcard detection algorithm plus trusted-resolver validation to filter out wildcard subdomains and DNS-poisoned entries.", "when_to_avoid": ["you need a general-purpose DNS server or recursive resolver", "you only need a handful of DNS lookups and a simple dig-style tool suffices", "you require a GUI or managed service rather than a CLI"], "when_to_choose": ["you need accurate subdomain enumeration for bug bounty or recon", "you want fast bulk DNS resolution with wildcard filtering", "you need pipeline-friendly stdin/stdout DNS tooling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/puredns", "repo": "d3mondev/puredns", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "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:06:29.245373+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.245373+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:22.713871+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "beb2e17a3d8ac9b408b2d0bc297c81e0e47d9a5853b58f39ead5403a4ad2f1c1", "fetched_at": "2026-08-28T04:06:29.245373+00:00", "kind": "readme", "missing": false, "url": "https://github.com/d3mondev/puredns"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 69, "longevity": 100, "rhythm": 8}, "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": 2226, "days_push": 191, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}