DICTATOR is an educational cybersecurity + Generative AI project that demonstrates how AI can generate highly personalized password dictionaries for simulated brute-force attacks.
The project highlights password vulnerabilities using ethical simulations and aims to raise awareness about weak password practices and poor password hygiene.
-
AI-powered dictionary generation using Ollama
-
Personalized password generation based on user-provided information
-
Platform-specific password policy inference
-
Hybrid dictionary generation using:
- Database retrieval
- AI-generated variants
-
Large-scale password wordlist support (~15M entries)
-
Automatic dictionary export as
.txt
- Python
- Django
- SQLite
- Ollama
- Llama 3.1 8B
- HTML / CSS
The user provides information related to a hypothetical password:
- Platform (Google, Instagram, etc.)
- Username
- Password length
- Specific characters
- Character types
- Owner name
- Date of birth
- Additional personal information
AI infers likely password policy based on platform.
Examples:
- Minimum password length
- Required character types
- Common platform restrictions
The system searches a large SQLite database containing millions of real-world password entries.
Filtering is based on:
- Length constraints
- Specific characters
- Character types
- User-related information
Llama 3.1 8B generates additional personalized password candidates using contextual inputs.
Examples:
- Name variations
- DOB combinations
- Character substitutions
- Mixed patterns
Database matches and AI-generated passwords are merged, cleaned, deduplicated, and exported into a custom dictionary.
Output:
custom_dict.txt
git clone <repo-url>
cd DICTATORpython -m venv venvWindows:
venv\Scripts\activateLinux/Mac:
source venv/bin/activatepip install -r requirements.txtollama servePull model:
ollama pull llama3.1:8bpython manage.py runserverOpen browser:
http://127.0.0.1:8000/
Create a folder named:
wordlists/
Place all password wordlists inside this folder.
Example:
wordlists/
├── rockyou.txt
├── common_1m.txt
├── darkweb_10k.txt
├── names.txt
DICTATOR automatically detects and loads all .txt files inside the wordlists/ folder.
No manual configuration is required.
Run:
python merge_wordlists.pyThis automatically:
- Detects all
.txtfiles inwordlists/ - Merges them
- Removes duplicates
- Creates:
master_wordlist.txt
Run:
python manage.py load_wordlist master_wordlist.txtThis imports the merged password dataset into SQLite for fast querying.