atheris
Atheris is a coverage-guided Python fuzzer based on libFuzzer. Use for fuzzing pure Python code and Python C extensions.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Atheris is a coverage-guided Python fuzzer based on libFuzzer. Use for fuzzing pure Python code and Python C extensions.
How to use
Zainstaluj Atheris za pomocą pip: uruchom polecenie
uv pip install atheris. Upewnij się, że masz zainstalowany Python 3.7 lub nowszy oraz aktualną wersję clang.Utwórz plik Python z funkcją testową oznaczoną dekoratorem
@atheris.instrument_func. Funkcja powinna przyjmować parametrdatatypu bytes i zawierać logikę testową, na przykład sprawdzanie wartości bajtów lub wywoływanie testowanego kodu.W funkcji
main()zainicjuj Atheris za pomocąatheris.Setup(sys.argv, test_one_input), gdzietest_one_inputto nazwa twojej funkcji testowej.Wywołaj
atheris.Fuzz()na końcu funkcjimain(), aby uruchomić fuzzer z przewodnikiem pokrycia.Uruchom skrypt poleceniem
python nazwa_pliku.py. Fuzzer będzie generować losowe dane wejściowe i szukać błędów, ścieżek powodujących wyjątki lub problemów z pamięcią w kodzie C.Do pełnego środowiska z wszystkimi zależnościami rozważ użycie Docker. Użyj obrazu Python (np.
python:3.11) i zainstaluj clang oraz Atheris wewnątrz kontenera.