{"adoption": {"forks": 324, "observed_at": "2026-08-28T04:05:30.121075+00:00", "stars": 1740}, "canonical_url": "https://ross.abutalabs.com/products/pixiewps", "card": {"archived": false, "artifact_type": "cli-tool", "description": "An offline Wi-Fi Protected Setup brute-force utility", "domain": ["security", "penetration-testing", "networking"], "enriched": true, "function": ["security", "penetration-testing", "cryptography"], "health_score": 67, "homepage": null, "language": "C", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["wiire-a/pixiewps"], "name": "wiire-a/pixiewps", "platform": ["cli"], "pushed_at": "2026-04-17T18:29:11+00:00", "repo": "wiire-a/pixiewps", "stars": 1740, "tags": ["wps", "pixie-dust-attack", "wifi-security", "bruteforce", "offline-attack", "wpa-psk", "wireless-pentesting", "kali-linux", "wifi-hacking", "hacking-tool", "command-line", "linux"], "topics": ["hacking-tool", "wifi-security"], "urls": [], "use_cases": ["recover a WPS PIN offline from a vulnerable router", "run a pixie dust attack against a WPS-enabled access point", "audit whether my router's WPS implementation has low entropy", "perform WPS security testing during an authorized Wi-Fi penetration test", "extract the WPA-PSK passphrase from a complete passive WPS capture (M1 through M7)", "crack WPS PINs in seconds instead of hours-long online brute-force"], "what_it_is": "Pixiewps is a C command-line utility that brute-forces Wi-Fi Protected Setup (WPS) PINs offline, exploiting low- or non-entropy software implementations via the 'pixie-dust attack'. On vulnerable routers it can recover the PIN in seconds or minutes rather than the hours required by online tools, and since version 1.4 it can also recover the WPA-PSK from a complete passive capture for some devices.", "when_to_avoid": ["you need to capture the WPS exchange itself - Pixiewps only computes the PIN offline and relies on tools like Reaver or Bully (with modified options) to gather the PKE, PKR, hashes, and nonces", "targets not vulnerable to pixie-dust require traditional online attacks, which this tool does not perform", "you need a graphical tool or native Windows binary - it is a C program built with make targeting Linux with POSIX threads", "any use against networks you do not own or lack explicit permission to test"], "when_to_choose": ["auditing WPS-enabled routers for the pixie-dust vulnerability in authorized penetration tests", "you need offline PIN recovery in seconds or minutes instead of the hours required by online brute-force tools", "recovering WPA-PSK from a full passive capture on supported devices using --mode 3"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pixiewps", "repo": "wiire-a/pixiewps", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "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:30.121075+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.121075+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:30:10.844129+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5def43627a4a1a7996ae2085af98d01ab43ad7c74674b954dadeddc8c484d6d8", "fetched_at": "2026-08-28T04:05:30.121075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wiire-a/pixiewps"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4171, "days_push": 138, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}