AI-powered hash cracking platform with adaptive profiling, OSINT automation, and security audit reports
Project description
SmartCrack
AI-powered hash cracking platform with adaptive profiling, OSINT automation, multi-phase attack orchestration, and professional security audit reports.
Features
- Smart attack orchestration -- chains Dictionary, Rules, Profile, Hybrid, and Adaptive AI phases automatically
- Adaptive AI profiling -- multi-round LLM reasoning that adapts strategy based on failed attempts, with chain-of-thought reasoning visible in the TUI
- OSINT automation -- give a username, automatically enumerate platforms and build a target profile
- Batch processing -- crack thousands of hashes with deduplication and auto-type detection
- Security audit reports -- professional Markdown/HTML reports with entropy analysis, pattern detection, and policy compliance
- Real hash support -- MD5, SHA1, SHA256, SHA384, SHA512, bcrypt, argon2, NTLM
- Plugin architecture -- hashcat
.rulefile compatibility, extensible via entry points - Rule engine -- 22 hashcat-compatible mutation rules (leet, case, append, rotate, etc.)
- Parallel cracking -- multi-core hash verification with adaptive batch sizing for slow hashes
- Interactive TUI -- real-time dashboard with AI reasoning display, phase tracking, progress bars
- Session persistence -- save and resume cracking sessions
Architecture
CLI Input --> Hash ID --> Plan Attacks --> Orchestrator
|-> Dictionary
|-> Dictionary + Rules
|-> Profile (Local/AI)
|-> Profile + Rules
|-> Adaptive AI (multi-round)
--> Cracker (parallel/sequential)
--> Analysis --> Audit Report
Install
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Quick Start
Smart attack with AI profiling
smartcrack smart -H "5d41402abc4b2a76b9719d911017c592" \
--profile-name John \
--profile-birthdate 1990-05-15 \
--profile-pet Buddy
OSINT-powered attack (one command does everything)
smartcrack smart -H <hash> --osint-target @johndoe
Batch crack from file
smartcrack batch -f hashes.txt --audit
Identify hash type
smartcrack identify -H <hash>
OSINT username enumeration
smartcrack osint johndoe
Interactive TUI
smartcrack smart -H <hash> --tui
List plugins
smartcrack plugins
Commands
| Command | Description |
|---|---|
crack |
Simple dictionary attack |
smart |
Multi-phase intelligent attack with AI profiling |
batch |
Crack multiple hashes from a file |
identify |
Identify hash type(s) |
osint |
OSINT username enumeration |
plugins |
List installed plugins |
version |
Show version |
Attack Phases
| Phase | Description |
|---|---|
| 1. Dictionary | Plain wordlist candidates |
| 2. Dictionary + Rules | Wordlist with hashcat-compatible mutations |
| 3. Profile | AI or rule-based candidates from target info |
| 4. Profile + Rules | Profiled candidates with mutations |
| 5. Adaptive AI | Multi-round LLM reasoning that adapts on failure |
Phases run in order; stops on first match.
Configuration
Copy .env.example to .env and fill in your LLM endpoint details.
| Variable | Description | Default |
|---|---|---|
SMARTCRACK_LLM_BASE_URL |
OpenAI-compatible API base URL | -- |
SMARTCRACK_LLM_API_KEY |
API bearer token | -- |
SMARTCRACK_LLM_MODEL |
Model name | -- |
SMARTCRACK_LLM_TIMEOUT |
Request timeout (seconds) | 90 |
Development
pytest # run tests (293 passing)
pytest --cov=src # with coverage
ruff check src/ tests/ # lint
mypy src/ # type check
Project Structure
src/smartcrack/
cli.py -- Typer CLI (crack, smart, batch, identify, osint, plugins)
orchestrator.py -- Smart attack phase chaining
adaptive_profiler.py -- Multi-round AI profiling with chain-of-thought
profiler.py -- LocalProfiler (rules) + AIProfiler (LLM)
cracker.py -- Parallel + sequential cracking engines
analysis.py -- Password entropy, patterns, audit summaries
batch.py -- Batch hash processing with dedup
hash_id.py -- Hash type auto-identification
hashers.py -- Hash computation (MD5-SHA512 + bcrypt/argon2/NTLM)
rules.py -- Hashcat-compatible mutation rules
models.py -- Core dataclasses and enums
config.py -- Environment variable loading
session.py -- Session save/resume (JSON)
report.py -- Report generation (Markdown/JSON/HTML)
wordlist.py -- Wordlist I/O and streaming
plugins/ -- Plugin architecture (entry_points, rule parser)
osint/ -- OSINT username enumeration + profile builder
tui/ -- Textual interactive dashboard
data/100K.txt -- Bundled 100K password wordlist
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smartcrack-3.0.0.tar.gz.
File metadata
- Download URL: smartcrack-3.0.0.tar.gz
- Upload date:
- Size: 102.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5ce1a002593c49ae494e9bb0bf6aa4cf4110dd5dcadb6ce14d1a12c4175cf5f
|
|
| MD5 |
56472a48b94040659af3dae245e2817d
|
|
| BLAKE2b-256 |
525f549aec9b7bdae81d3d2b74b5bbae08de6dfa724b76687a5b49c37f4d6024
|
File details
Details for the file smartcrack-3.0.0-py3-none-any.whl.
File metadata
- Download URL: smartcrack-3.0.0-py3-none-any.whl
- Upload date:
- Size: 482.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d65e5583f53addf2a49884acdd6203fb2b671848a976168af6f49a3fee327be
|
|
| MD5 |
cb3fc7216e71446be86c470647f36705
|
|
| BLAKE2b-256 |
43f7340a106602e7203a045dc49a93565470d62f17ca583eea484ad5871ed5a9
|