$ show sc0tfree/mentalist
Mentalist is a desktop GUI application for generating custom wordlists targeting password security auditing. Built with Python Tkinter, it allows users to construct chains of operations (base words, case changes, substitutions, appending/prepending) to produce wordlists or rule sets compatible with Hashcat and John the Ripper. The application follows an MVC architecture: the model handles chain/node/attribute logic, the view manages Tkinter UI components, and the controller mediates between them. Key features include real-time word count estimation, saving/loading chain configurations, and background threading for responsive UI during intensive operations. The tool is designed for authorized penetration testing and includes bundled word lists and reference data.
The LLM identified 2 files worth highlighting for reuse:
Implements a chain of responsibility pattern for word processing where nodes (BaseNode, MutateNode, AddNode) contain composable attributes (FileAttr, StringListAttr, etc.) that transform input data. Demonstrates clean separation of concerns, null object pattern for passthrough operations, and JSON-based serialization with type whitelisting for secure chain persistence. The model is unit-testable and decoupled from UI concerns.
A custom Tkinter widget providing a vertically scrollable frame by encapsulating canvas and scrollbar logic. Offers a drop-in, reusable component for any Tkinter application requiring scrollable content without exposing internal implementation details. Demonstrates effective abstraction of complex Tkinter geometry management into a simple, self-contained widget.