{"adoption": {"forks": 698, "observed_at": "2026-08-28T04:08:35.903456+00:00", "stars": 4119}, "canonical_url": "https://ross.abutalabs.com/products/ivre", "card": {"archived": false, "artifact_type": "framework", "description": "Network recon framework. Build your own, self-hosted and fully-controlled alternatives to Shodan / ZoomEye / Censys and GreyNoise, run your Passive DNS service, build your taylor-made EASM tool, collect and analyse network intelligence from your sensors, and much more! Uses Nmap, Masscan, Zeek, p0f, ProjectDiscovery tools, etc.", "domain": ["security", "networking", "osint", "penetration-testing", "developer-tools"], "enriched": true, "function": ["security", "search-engine", "web-scraping", "analytics", "parser", "cli", "web-framework", "data-visualization"], "health_score": 87, "homepage": "https://ivre.rocks/", "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ivre/ivre"], "name": "ivre/ivre", "platform": ["python", "self-hosted", "cli"], "pushed_at": "2026-08-05T03:17:41+00:00", "repo": "ivre/ivre", "stars": 4119, "tags": ["network-recon", "nmap", "masscan", "zeek", "easm", "passive-dns", "attack-surface-management", "shodan-alternative", "network-intelligence", "osint", "linux", "macos", "docker", "web-server"], "topics": ["bro", "scans", "nmap", "network", "network-discovery", "scan-ports", "security", "network-security", "nmap-results-analyse", "nmap-parser", "nmap-scripts", "zeek", "masscan", "osint", "hacktoberfest", "easm", "external-attack-surface-management", "network-recon", "network-reconnaissance", "projectdiscovery"], "urls": [], "use_cases": ["build a self-hosted Shodan or Censys alternative", "run a passive DNS service from network traffic captures", "analyze and browse large Nmap or Masscan scan results", "build a custom external attack surface management (EASM) tool", "perform network flow analysis from Zeek or Argus data", "scan and map internet-exposed services across countries or ASNs", "search scan results for vulnerable service versions"], "what_it_is": "IVRE is an open-source network recon framework written in Python that collects, stores, and analyzes network intelligence from active scanning tools (Nmap, Masscan, ZGrab2, ZDNS, ProjectDiscovery tools) and passive sensors (Zeek, Argus, p0f, Nfdump). It provides CLI tools, a Python API, and a Web UI backed by MongoDB, PostgreSQL, or Elasticsearch, enabling self-hosted alternatives to Shodan, Censys, and GreyNoise.", "when_to_avoid": ["you need a turnkey hosted service with no infrastructure to manage", "your focus is web application vulnerability scanning rather than network/service discovery", "you lack the resources to run and maintain a database backend like MongoDB or Elasticsearch", "you only need a one-off quick port scan without storage or analysis"], "when_to_choose": ["you need full control over network scan data instead of relying on commercial search engines like Shodan or Censys", "you want to aggregate and query results from Nmap, Masscan, Zeek, and other recon tools in one place", "you need to analyze very large scans more efficiently than Zenmap allows", "you are building EASM or passive DNS capabilities on your own infrastructure"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ivre", "repo": "ivre/ivre", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "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:08:35.903456+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:35.903456+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:23:07.728792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05559c236e7f4fbe0df0ab5efaaa9dcf0c0c35c5f8c76cbe548456b04edbad5d", "fetched_at": "2026-08-28T04:08:35.903456+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ivre/ivre"}, {"content_hash": "43df940f8bdb516fb8106f1a21d54c9db4371fb9ca74321b19957a9d5f228263", "fetched_at": "2026-08-29T09:15:31.240124+00:00", "kind": "homepage", "missing": false, "url": "https://ivre.rocks/"}, {"content_hash": "f35a5997109da2a48ec23ee488152b8a14e94fc90313a537b4303bfb61a1728a", "fetched_at": "2026-08-29T09:15:31.253302+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/ivre/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4373, "days_push": 28, "days_rel": 707, "gap_med": null, "n_releases_24m": 1}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}