{"adoption": {"forks": 259, "observed_at": "2026-08-28T04:06:06.395926+00:00", "stars": 2021}, "canonical_url": "https://ross.abutalabs.com/products/mentalist", "card": {"archived": false, "artifact_type": "application", "description": "Mentalist is a graphical tool for custom wordlist generation. It utilizes common human paradigms for constructing passwords and can output the full wordlist as well as rules compatible with Hashcat and John the Ripper.", "domain": ["security", "penetration-testing", "developer-tools"], "enriched": true, "function": ["security", "gui", "developer-tools"], "health_score": 82, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["sc0tfree/mentalist"], "name": "sc0tfree/mentalist", "platform": ["windows", "python", "cross-platform"], "pushed_at": "2026-04-14T01:50:33+00:00", "repo": "sc0tfree/mentalist", "stars": 2021, "tags": ["wordlist-generator", "password-cracking", "hashcat", "john-the-ripper", "password-lists", "linux", "macos"], "topics": ["wordlist", "wordlist-generator", "password", "cracking", "cracking-hashes", "wordlist-technique"], "urls": [], "use_cases": ["generate custom wordlists for password cracking", "create hashcat rules from human password patterns", "build targeted password dictionaries for penetration tests", "generate john the ripper rule files", "model common password construction habits into candidate lists"], "what_it_is": "Mentalist is a graphical Python tool for generating custom password wordlists based on common human password-construction patterns. It can export full wordlists as well as mutation rules compatible with Hashcat and John the Ripper.", "when_to_avoid": ["you need a headless or CLI-only wordlist generator", "you want general-purpose dictionary attacks rather than wordlist generation", "you cannot install Python 3.11+ with tkinter"], "when_to_choose": ["you need a GUI-driven wordlist generator tailored to human password habits", "you want output rules for Hashcat or John the Ripper instead of raw lists", "you are doing authorized password auditing during a penetration test"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mentalist", "repo": "sc0tfree/mentalist", "role": "main", "score": 63}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "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:06.395926+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:06.395926+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:00:10.572014+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b32cf511cb8754fc7112c2129c6324577ae621e7d99c922d8dbefd0a4eb13c7b", "fetched_at": "2026-08-28T04:06:06.395926+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sc0tfree/mentalist"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 25}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3223, "days_push": 142, "days_rel": 290, "gap_med": null, "n_releases_24m": 1}, "score": 63, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}