Frelatage – The Python Fuzzer That The World Deserves


pip3 install frelatage
Current release : 0.0.7

Frelatage is a coverage-based Python fuzzing library which can be used to fuzz python code. The development of Frelatage was inspired by various other fuzzers, including AFL/AFL++, Atheris and PythonFuzz. The main purpose of the project is to take advantage of the best features of these fuzzers and gather them together into a new tool in order to efficiently fuzz python applications.

DISCLAIMER : This project is at the alpha stage and can still cause many unexpected behaviors. Frelatage should not be used in a production environment at this time.

Requirements

Python 3

Installation Install with pip (recommended) pip3 install frelatage Or build from source

Recommended for developers. It automatically clones the main branch from the frelatage repo, and installs from source.

# Automatically clone the Frelatage repository and install Frelatage from source
bash <(wget -q https://raw.githubusercontent.com/Rog3rSm1th/Frelatage/main/scripts/autoinstall.sh -O -) How it works

The idea behind the design of Frelatage is the usage of a genetic algorithm to generate mutations that will cover as much code as possible. The functioning of a fuzzing cycle can be roughly summarized with this diagram :

<section aria-label="enrichable markdown container" class="js-render-needs-enrichment render-needs-enrichment mb-4 position-relative" data-content="{"data":"graph TBnn m1(Mutation 1) –&gt; |input| function(Fuzzed function)n m2(Mutation 2) –&gt; |input| function(Fuzzed function)n mplus(Mutation …) –&gt; |input| function(Fuzzed function)n mn(Mutation n) –&gt; |input| function(Fuzzed function)n n function –&gt; generate_reports(Generate reports)n generate_reports –&gt; rank_reports(Rank reports) n rank_reports –&gt; select(Select n best reports)n n select –&gt; |mutate| nm1(Mutation 1)

Read more

Explore the site

More from the blog

Latest News