Toolverse
All skills

atheris

by trailofbits

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

Quick info

Category
Testing
Views
4

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

  1. 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.

  2. Utwórz plik Python z funkcją testową oznaczoną dekoratorem @atheris.instrument_func. Funkcja powinna przyjmować parametr data typu bytes i zawierać logikę testową, na przykład sprawdzanie wartości bajtów lub wywoływanie testowanego kodu.

  3. W funkcji main() zainicjuj Atheris za pomocą atheris.Setup(sys.argv, test_one_input), gdzie test_one_input to nazwa twojej funkcji testowej.

  4. Wywołaj atheris.Fuzz() na końcu funkcji main(), aby uruchomić fuzzer z przewodnikiem pokrycia.

  5. 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.

  6. 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.

Related skills