{"adoption": {"forks": 396, "observed_at": "2026-08-28T04:09:02.160368+00:00", "stars": 4903}, "canonical_url": "https://ross.abutalabs.com/products/bluetooth-le-spam", "card": {"archived": false, "artifact_type": "application", "description": null, "domain": ["security", "android-tools", "privacy"], "enriched": true, "function": ["security", "networking"], "health_score": 89, "homepage": null, "language": "Kotlin", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["simondankelmann/Bluetooth-LE-Spam"], "name": "simondankelmann/Bluetooth-LE-Spam", "platform": [], "pushed_at": "2026-08-09T13:54:11+00:00", "repo": "simondankelmann/Bluetooth-LE-Spam", "stars": 4903, "tags": ["bluetooth-low-energy", "ble-advertising", "spam", "pentesting", "kotlin", "fdroid", "android"], "topics": ["android", "bluetooth-low-energy", "f-droid", "fdroid"], "urls": [], "use_cases": ["send fake BLE advertisements to trigger popups on nearby devices", "test how devices respond to spoofed Bluetooth LE advertisements", "demonstrate BLE spam attacks like the iOS 17 crash", "control Lovespouse-compatible devices via BLE advertisements", "explore Bluetooth LE security on Android"], "what_it_is": "An Android app that uses built-in Bluetooth Low Energy to send phantom device advertisements mimicking services like Apple popups, Microsoft Swift Pair, and Samsung Easy Setup. It can trigger unwanted popups on nearby devices and includes other BLE advertisement-based exploits.", "when_to_avoid": ["you need actively maintained exploits, as many are patched on modern devices", "you target iOS or PC platforms, since the app only runs on Android 8.0+", "you need a stealthy or production security tool rather than a demonstration app"], "when_to_choose": ["you want an open-source, user-friendly Android app for BLE advertisement spamming", "you need to demo or research BLE-based popup and crash exploits", "you want an F-Droid installable BLE advertising tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bluetooth-le-spam", "repo": "simondankelmann/Bluetooth-LE-Spam", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "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:09:02.160368+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.160368+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:07.976318+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cb2f353b7ba8b03c53a7747dc07e8751000f6d7184622d84309ac185502f3107", "fetched_at": "2026-08-28T04:09:02.160368+00:00", "kind": "readme", "missing": false, "url": "https://github.com/simondankelmann/Bluetooth-LE-Spam"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 74, "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": 1048, "days_push": 24, "days_rel": 588, "gap_med": null, "n_releases_24m": 1}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}