{"adoption": {"forks": 243, "observed_at": "2026-08-28T04:06:59.355135+00:00", "stars": 2543}, "canonical_url": "https://ross.abutalabs.com/products/evil-m5project", "card": {"archived": false, "artifact_type": "application", "description": "Evil-M5Project is an innovative tool developed for ethical  hacking and exploration of WiFi networks. It's compatible with Cardputer, Atoms3, Fire, core2. You can scan, monitor, and interact with WiFi networks in a controlled environment. This project is designed for educational purposes, aiding in understanding network security and vulnerabilities", "domain": ["security", "penetration-testing", "networking", "hardware"], "enriched": true, "function": ["security", "networking", "penetration-testing"], "health_score": 79, "homepage": "https://7h30th3r0n3.fr/", "language": "C++", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["7h30th3r0n3/Evil-M5Project"], "name": "7h30th3r0n3/Evil-M5Project", "platform": ["embedded", "iot", "cpp"], "pushed_at": "2026-08-20T12:37:32+00:00", "repo": "7h30th3r0n3/Evil-M5Project", "stars": 2543, "tags": ["wifi", "m5stack", "esp32", "ethical-hacking", "firmware", "cardputer", "educational", "wireless-security"], "topics": [], "urls": [], "use_cases": ["scan and monitor nearby wifi networks from a handheld device", "learn wifi network security vulnerabilities hands-on", "run ethical hacking experiments on my own wireless network", "explore wifi security with an m5stack cardputer", "teach network security concepts in a controlled lab", "test wireless network resilience in a controlled environment"], "what_it_is": "Evil-M5Project is a C++ firmware/tool for M5Stack devices (Cardputer, AtomS3, Fire, Core2) that scans, monitors, and interacts with WiFi networks for ethical hacking and security education. It is intended for use in controlled environments to learn about network security and vulnerabilities.", "when_to_avoid": ["you need a legally compliant tool for testing networks you do not own or have authorization for", "you want a general-purpose WiFi auditing suite on a laptop with a full license and mature tooling", "you need production-grade penetration testing with reporting and compliance features"], "when_to_choose": ["you own a compatible M5Stack device (Cardputer, AtomS3, Fire, Core2) and want a ready-made WiFi security exploration tool", "you want an educational, hands-on way to understand WiFi security and vulnerabilities", "you need a portable device for controlled-environment wireless network testing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/evil-m5project", "repo": "7h30th3r0n3/Evil-M5Project", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "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:06:59.355135+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.355135+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:05.376290+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bd5c83c75fb01394e7c2574f9ef57800479c623424f1aee25c99c07605a43a8e", "fetched_at": "2026-08-28T04:06:59.355135+00:00", "kind": "readme", "missing": false, "url": "https://github.com/7h30th3r0n3/Evil-M5Project"}, {"content_hash": "9ee12371ebb9d436d62d3c7c60a51086ef36a7f534ea9fde8eb7444abe08d831", "fetched_at": "2026-08-29T10:07:02.972390+00:00", "kind": "homepage", "missing": false, "url": "https://7h30th3r0n3.fr/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 70, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+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": 985, "days_push": 13, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}