{"adoption": {"forks": 173, "observed_at": "2026-08-28T04:03:19.474975+00:00", "stars": 1037}, "canonical_url": "https://ross.abutalabs.com/products/attifyos", "card": {"archived": false, "artifact_type": "application", "description": "Attify OS - Distro for pentesting IoT devices ", "domain": ["iot", "security", "penetration-testing", "embedded-systems", "hardware"], "enriched": true, "function": ["penetration-testing", "security", "reverse-engineering", "developer-tools"], "health_score": 20, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["adi0x90/attifyos"], "name": "adi0x90/attifyos", "platform": ["cross-platform"], "pushed_at": "2021-08-26T13:31:13+00:00", "repo": "adi0x90/attifyos", "stars": 1037, "tags": ["iot-pentesting", "firmware-analysis", "sdr", "security-distro", "hardware-hacking", "ubuntu-based", "linux"], "topics": ["embedded", "security", "iot", "iot-pentesting", "internet-of-things", "exploitation", "hardware", "hacking"], "urls": [], "use_cases": ["pentest iot devices", "analyze iot device firmware", "set up an iot hacking lab environment", "reverse engineer embedded firmware with binwalk and ghidra", "capture and decode radio signals from smart devices", "emulate firmware with firmadyne and qiling"], "what_it_is": "Attify OS is a Linux distribution based on Ubuntu 18.04 pre-configured with tools for security assessment and penetration testing of IoT devices. It bundles firmware analysis, radio/SDR, and hardware hacking utilities so researchers can start testing without manual setup.", "when_to_avoid": ["you need a currently supported base OS (Ubuntu 18.04 support ended April 2023)", "you only need a single tool rather than a full distro", "you target web or mobile applications rather than IoT hardware"], "when_to_choose": ["you need a ready-made environment with IoT security tools pre-installed", "you want firmware extraction, analysis, and emulation tooling in one distro", "you are doing authorized hardware or radio-frequency security assessments"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/attifyos", "repo": "adi0x90/attifyos", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "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:03:19.474975+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.474975+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:21.766761+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7312a07e10e001c0d0908e224cd386bdb23a2051105df036b31f3f9c02cdf01f", "fetched_at": "2026-08-28T04:03:19.474975+00:00", "kind": "readme", "missing": false, "url": "https://github.com/adi0x90/attifyos"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "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": 3335, "days_push": 1833, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}