Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@matrix
Copy link
Member

@matrix matrix commented Jan 17, 2026

Hashcat PCFG Attack Mode with Adaptive Hybrid-Fuzzing

The PCFG (Probabilistic Context-Free Grammar) integration for Hashcat allows for sophisticated attacks based on statistical models learned, for example, from real-world password data. Instead of generating combinations blindly, Hashcat will follow the grammatical structures used in the models.

The training module implement multiple normalization path on malformed training data in order to trying to make the best model possible.

It will also be possible to activate a specific mode, called Adaptive Hybrid-Fuzzing, where structures will be generated randomly using the terminals present in the model. If specific terminals, selected by this engine to create the new structure and already present in the model, do not present all possible combinations for a given length, random generation will also be activated for them. This mode is useful for exploring structural spaces not present in the original training set.

More info on docs/hashcat-pcfg-attack-mode.md

;)

@fukc-gihtub
Copy link

@lakiw

- added new option: --pcfg-shuffle
- removed unused functions: pcfg_trainer_finalize, cmp_struct and cmp_term
- using fast_rand_local instead of get_random_num
- beautify pcfg_trainer_export_to_file
- updated docs
@matrix matrix marked this pull request as draft January 18, 2026 17:17
- add more checks on user_options_sanity
- reduced PCFG_TOKEN_MAX from 16 to 10
- fix bug on Unicode/Emoji tokenizer
- filter out too long struct (> PCFG_TOKEN_MAX) in pcfg_trainer_add_pw
- added more progress tracking
- show AF status on training progress bar
- minor beautify things
@matrix
Copy link
Member Author

matrix commented Jan 18, 2026

pcfg models must be retrained after "updated PCFG (2)" commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants