{"adoption": {"forks": 318, "observed_at": "2026-08-28T04:05:49.290617+00:00", "stars": 1888}, "canonical_url": "https://ross.abutalabs.com/products/blueducky", "card": {"archived": false, "artifact_type": "cli-tool", "description": "🚨 CVE-2023-45866 - BlueDucky Implementation (Using DuckyScript) 🔓 Unauthenticated Peering Leading to Code Execution (Using HID Keyboard)", "domain": ["security", "penetration-testing"], "enriched": true, "function": ["penetration-testing", "security", "cli"], "health_score": 60, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["pentestfunctions/BlueDucky"], "name": "pentestfunctions/BlueDucky", "platform": ["python", "cli"], "pushed_at": "2026-02-11T00:03:00+00:00", "repo": "pentestfunctions/BlueDucky", "stars": 1888, "tags": ["bluetooth", "cve-2023-45866", "duckyscript", "hid-injection", "exploit", "pentest", "linux"], "topics": [], "urls": [], "use_cases": ["exploit CVE-2023-45866 on vulnerable Bluetooth devices", "inject keystrokes into phones via Bluetooth HID", "run DuckyScript payloads over Bluetooth", "scan and save nearby Bluetooth devices for later targeting", "test Bluetooth security of Android devices"], "what_it_is": "BlueDucky is a Python tool that exploits CVE-2023-45866, an unauthenticated Bluetooth peering vulnerability, to execute keystroke injection attacks via HID keyboard emulation. It accepts DuckyScript payloads and targets previously paired but no longer visible Bluetooth devices.", "when_to_avoid": ["you need a general-purpose Bluetooth security scanner", "you require a maintained tool with a license and broad hardware support", "your target devices are patched against CVE-2023-45866"], "when_to_choose": ["you need to demonstrate the BlueDucky CVE-2023-45866 vulnerability in a pentest", "you want to send DuckyScript keystroke payloads over Bluetooth", "you have a Linux machine with a compatible Bluetooth adapter"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/blueducky", "repo": "pentestfunctions/BlueDucky", "role": "main", "score": 56}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "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:05:49.290617+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:49.290617+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:13:30.655895+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0dbd1c6345eb8d0df98860d371144be3ba107415982682b2481345af0c6172d3", "fetched_at": "2026-08-28T04:05:49.290617+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pentestfunctions/BlueDucky"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 66, "longevity": 68, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 960, "days_push": 204, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}