{"adoption": {"forks": 1326, "observed_at": "2026-08-28T04:10:10.198400+00:00", "stars": 7952}, "canonical_url": "https://ross.abutalabs.com/products/airgeddon", "card": {"archived": false, "artifact_type": "cli-tool", "description": "This is a multi-use bash script for Linux systems to audit wireless networks.", "domain": ["penetration-testing", "security", "networking"], "enriched": true, "function": ["penetration-testing", "security", "cli", "networking"], "health_score": 100, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["v1s1t0r1sh3r3/airgeddon"], "name": "v1s1t0r1sh3r3/airgeddon", "platform": ["cli"], "pushed_at": "2026-08-26T17:14:34+00:00", "repo": "v1s1t0r1sh3r3/airgeddon", "stars": 7952, "tags": ["wireless-audit", "wifi-pentesting", "evil-twin", "wpa-cracking", "aircrack-suite", "bash-script", "wps-attacks", "handshake-capture", "command-line", "linux", "docker"], "topics": ["evil-twin", "wps", "security", "beef", "sslstrip", "bash", "sniffing", "wireless", "aircrack", "handshake", "linux", "hacking", "pentesting", "pixie-dust", "wep", "denial-of-service", "enterprise", "pmkid", "wpa-wpa2-wpa3", "multi-band"], "urls": [], "use_cases": ["audit the security of my wifi network", "capture WPA handshakes for penetration testing", "run an evil twin access point attack", "test WPS pixie dust vulnerabilities on routers", "crack WEP or WPA wireless passwords during an authorized pentest", "perform deauth and denial-of-service tests on wireless networks"], "what_it_is": "A multi-use bash script for auditing wireless networks on Linux, wrapping tools like aircrack-ng to automate attacks such as evil twin, WPS Pixie Dust, handshake capture, and PMKID cracking. It provides an interactive menu-driven interface and also runs in Docker.", "when_to_avoid": ["you need a GUI-based wireless auditing tool", "your wireless card does not support monitor mode or packet injection", "you are on Windows or macOS natively without Docker", "you want passive network monitoring rather than active attacks"], "when_to_choose": ["you need a menu-driven all-in-one wireless auditing tool on Linux", "you want automation over manually chaining aircrack-ng, hashcat, and bettercap", "you are doing authorized wifi penetration testing with a compatible monitor-mode adapter"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/airgeddon", "repo": "v1s1t0r1sh3r3/airgeddon", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "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:10:10.198400+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:10.198400+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:32:38.175995+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aa8d128869c6cd4b70ed5f01c233af533e07804a3b198d83b952d929f2ce4e25", "fetched_at": "2026-08-28T04:10:10.198400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/v1s1t0r1sh3r3/airgeddon"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 81}, "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": 3820, "days_push": 7, "days_rel": 51, "gap_med": 59, "n_releases_24m": 12}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}