{"adoption": {"forks": 335, "observed_at": "2026-08-28T04:07:02.226486+00:00", "stars": 2577}, "canonical_url": "https://ross.abutalabs.com/products/gaasedelen-lighthouse", "card": {"archived": false, "artifact_type": "plugin", "description": "A Coverage Explorer for Reverse Engineers", "domain": ["reverse-engineering", "security", "developer-tools"], "enriched": true, "function": ["reverse-engineering", "developer-tools", "security"], "health_score": 65, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["gaasedelen/lighthouse"], "name": "gaasedelen/lighthouse", "platform": ["windows", "python"], "pushed_at": "2026-02-14T01:08:08+00:00", "repo": "gaasedelen/lighthouse", "stars": 2577, "tags": ["ida-pro", "binary-ninja", "code-coverage", "disassembler-plugin", "coverage-explorer", "macos", "linux"], "topics": ["ida-pro", "idapython", "hexrays", "code-coverage", "binary-ninja", "reverse-engineering", "ida"], "urls": [], "use_cases": ["visualize code coverage in IDA Pro", "explore execution coverage of a binary without source", "load coverage data into Binary Ninja", "paint executed instructions in a disassembler", "analyze which code paths a native application executed", "combine fuzzing coverage with static reverse engineering"], "what_it_is": "Lighthouse is a code coverage explorer plugin for IDA Pro and Binary Ninja that lets reverse engineers interactively visualize execution coverage of native binaries without symbols or source. It paints coverage data directly onto disassembly views and supports multiple coverage formats.", "when_to_avoid": ["you need source-based code coverage for your own projects", "you use a disassembler other than IDA Pro or Binary Ninja", "you need automated coverage collection rather than visualization"], "when_to_choose": ["you reverse engineer native binaries and want interactive coverage visualization", "you use IDA Pro or Binary Ninja and need to map dynamic coverage onto static analysis", "you have coverage data from tools like Frida, Intel PIN, or DynamoRIO to explore"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gaasedelen-lighthouse", "repo": "gaasedelen/lighthouse", "role": "main", "score": 53}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "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:02.226486+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.226486+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:22:41.729569+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "676a58ef036a6e753ea6ed6d15c5a311c90f46a4748eb7ceef443dd15989451c", "fetched_at": "2026-08-28T04:07:02.226486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaasedelen/lighthouse"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 67, "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": 3490, "days_push": 201, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 53, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}