{"adoption": {"forks": 505, "observed_at": "2026-08-28T04:07:27.351830+00:00", "stars": 2876}, "canonical_url": "https://ross.abutalabs.com/products/nexmon", "card": {"archived": false, "artifact_type": "framework", "description": "The C-based Firmware Patching Framework for Broadcom/Cypress WiFi Chips that enables Monitor Mode, Frame Injection and much more", "domain": ["security", "embedded-systems", "networking", "hardware"], "enriched": true, "function": ["security", "networking", "embedded", "reverse-engineering"], "health_score": 75, "homepage": null, "language": "C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["seemoo-lab/nexmon"], "name": "seemoo-lab/nexmon", "platform": ["embedded", "cpp"], "pushed_at": "2026-07-13T17:06:43+00:00", "repo": "seemoo-lab/nexmon", "stars": 2876, "tags": ["wifi", "firmware-patching", "monitor-mode", "frame-injection", "broadcom", "cypress", "software-defined-radio", "wireless-security", "android", "linux"], "topics": ["nexmon", "broadcom", "firmware", "patching", "framework", "smartphone", "rpi"], "urls": [], "use_cases": ["enable monitor mode on Broadcom WiFi chips", "inject WiFi frames from a smartphone or Raspberry Pi", "capture raw 802.11 packets with radiotap headers", "extract channel state information from WiFi transmissions", "use a WiFi chip as a software-defined radio", "patch WiFi firmware for wireless security research"], "what_it_is": "Nexmon is a C-based firmware patching framework for Broadcom/Cypress WiFi chips that enables custom firmware modifications such as monitor mode with radiotap headers and frame injection. It targets smartphones, Raspberry Pi devices, and other embedded hardware, and supports related projects like Wi-Fi CSI extraction and software-defined radio use.", "when_to_avoid": ["you need a plug-and-play solution with no firmware flashing", "your WiFi chipset is not in the supported device list", "you cannot risk bricking hardware or voiding warranties"], "when_to_choose": ["you need monitor mode or frame injection on unsupported Broadcom/Cypress hardware", "you are doing WiFi security research on Android devices or Raspberry Pi", "you want low-level firmware-level access to a WiFi chipset"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nexmon", "repo": "seemoo-lab/nexmon", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "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:27.351830+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:27.351830+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:35:42.524747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3932b6464301b3a5f302729118234453d3fbf4e6d209d70ff167ce373bed9792", "fetched_at": "2026-08-28T04:07:27.351830+00:00", "kind": "readme", "missing": false, "url": "https://github.com/seemoo-lab/nexmon"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "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": 3597, "days_push": 51, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}