{"adoption": {"forks": 532, "observed_at": "2026-08-28T04:08:28.241009+00:00", "stars": 3890}, "canonical_url": "https://ross.abutalabs.com/products/esp32-div", "card": {"archived": false, "artifact_type": "application", "description": "ESP32DIV is a multi-purpose wireless offensive and defensive toolkit powered by an ESP32", "domain": ["security", "penetration-testing", "networking", "iot", "embedded-systems", "hardware"], "enriched": true, "function": ["security", "penetration-testing", "networking", "monitoring", "embedded"], "health_score": 99, "homepage": "https://cifertech.github.io/ESP32-DIV/", "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["cifertech/ESP32-DIV"], "name": "cifertech/ESP32-DIV", "platform": ["embedded", "iot"], "pushed_at": "2026-08-17T20:36:34+00:00", "repo": "cifertech/ESP32-DIV", "stars": 3890, "tags": ["wifi-deauther", "wireless-security", "esp32-firmware", "esp32-s3", "packet-sniffer", "sub-ghz", "rf-analysis", "bluetooth-scanner", "rfid-nfc-cloning", "wardriving", "spectrum-analyzer", "captive-portal", "infrared-replay", "flipper-zero-alternative", "offensive-security", "red-team", "open-hardware", "firmware"], "topics": ["arduino", "attack", "esp32", "hack", "wifi", "deauther", "defense", "esp32-s3", "espressif", "flipper-zero", "flipperzero", "offensive", "security-tool", "bluetooth", "subghz", "deauthentication-attack", "infrared-control", "scanner", "sniffer", "spammer"], "urls": [], "use_cases": ["test wifi networks for deauthentication vulnerabilities", "capture and replay sub-ghz signals from remotes and garage doors", "read, clone, and dump rfid or nfc access cards", "monitor the 2.4ghz spectrum for wifi, zigbee, and other rf traffic", "build a flipper zero alternative handheld for wireless security testing", "wardrive and log wifi and ble devices with gps to sd card", "broadcast fake wifi beacons to test client behavior", "sniff and replay infrared remote controls"], "what_it_is": "ESP32-DIV is open-source firmware (with open schematics and PCB files) for a custom ESP32-S3 handheld device that bundles Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS tools behind a touchscreen UI. It supports scanning, packet capture, signal replay, spoofing, jamming, and both attack and detection modes for authorized wireless security research and education.", "when_to_avoid": ["You need software-only analysis on a laptop with an existing Wi-Fi or SDR adapter", "You require commercially supported, certified, or legally cleared penetration-testing equipment for client engagements", "You have no authorization to test the target networks or devices - unauthorized use is illegal", "You need enterprise features such as team collaboration, automated reporting, or persistent deployment"], "when_to_choose": ["You want one portable, touchscreen device covering Wi-Fi, BLE, Sub-GHz, IR, RFID/NFC, and GPS testing instead of separate tools", "You are doing authorized wireless security assessments, RF education, or red-team demonstrations", "You prefer open hardware with included schematics and PCB files that you can build and extend", "You want to flash firmware directly from a browser without setting up an Arduino IDE"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/esp32-div", "repo": "cifertech/ESP32-DIV", "role": "main", "score": 89}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "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:28.241009+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:28.241009+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:25:37.396685+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f4d34c126adfd4500d5dc9f141e657416f94bc7b507e462c59e420ec71b6d483", "fetched_at": "2026-08-28T04:08:28.241009+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cifertech/ESP32-DIV"}, {"content_hash": "c7b2bbcad48102a5e89c22aa9a70af67ee474e10355756480b1d4360e1b341f3", "fetched_at": "2026-08-29T09:19:27.748141+00:00", "kind": "homepage", "missing": false, "url": "https://cifertech.github.io/ESP32-DIV/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 76, "rhythm": 84}, "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": 1067, "days_push": 16, "days_rel": 27, "gap_med": 42.0, "n_releases_24m": 7}, "score": 89, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}