{"adoption": {"forks": 465, "observed_at": "2026-08-28T04:07:48.721170+00:00", "stars": 3210}, "canonical_url": "https://ross.abutalabs.com/products/guyinatuxedo-nightmare", "card": {"archived": false, "artifact_type": "learning-resource", "description": null, "domain": ["security", "education", "tutorials", "penetration-testing"], "enriched": true, "function": ["security", "reverse-engineering", "developer-tools", "documentation"], "health_score": 60, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "stable", "member_repos": ["guyinatuxedo/nightmare"], "name": "guyinatuxedo/nightmare", "platform": ["cross-platform", "python"], "pushed_at": "2026-02-08T15:20:22+00:00", "repo": "guyinatuxedo/nightmare", "stars": 3210, "tags": ["binary-exploitation", "ctf", "pwn", "reverse-engineering", "course", "writeups", "assembly", "exploit-development", "linux"], "topics": [], "urls": [], "use_cases": ["learn binary exploitation from scratch", "practice pwn CTF challenges with writeups", "learn assembly and reverse engineering basics", "study heap exploitation techniques", "find free alternatives to IDA for learning exploit dev", "prepare for CTF security competitions"], "what_it_is": "Nightmare is an open-source introductory course on binary exploitation and reverse engineering built around CTF challenges, with over 90 documented challenges and writeups. It is distributed as a repository of challenges plus a static mdbook site for reading the material.", "when_to_avoid": ["you need advanced or up-to-date heap exploitation content (the author recommends Shogun instead)", "you are looking for a tool or library rather than educational material", "you need formal coursework or certification"], "when_to_choose": ["you want a structured, linear curriculum for learning binary exploitation", "you prefer learning by solving real CTF challenges with documented solutions", "you want free, open-source tooling throughout the course"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/guyinatuxedo-nightmare", "repo": "guyinatuxedo/nightmare", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "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:07:48.721170+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.721170+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:24:44.284610+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68e52c5318e018af3fe1318f2d875e7ea881a38da352c5ff371cd6eb40ffbff1", "fetched_at": "2026-08-28T04:07:48.721170+00:00", "kind": "readme", "missing": false, "url": "https://github.com/guyinatuxedo/nightmare"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 66, "longevity": 100, "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": 2651, "days_push": 206, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}