Overview of the recheck fuzzing algorithm for ReDoS detection
The recheck tool uses a dynamic analysis fuzzing algorithm based on evolutionary computation (genetic algorithms) to detect ReDoS vulnerabilities. The process follows three primary stages:
- Seeding: Statically analyzes the regular expression to create an initial generation of test strings.
- Incubation: Uses a genetic algorithm to evolve these strings into inputs that increase matching time.
- Attack: Verifies if the generated strings cause exponential or polynomial matching time increases to confirm a vulnerability.