address-sanitizer
AddressSanitizer detects memory errors during fuzzing. Use when fuzzing C/C++ code to find buffer overflows and use-after-free bugs.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
AddressSanitizer detects memory errors during fuzzing. Use when fuzzing C/C++ code to find buffer overflows and use-after-free bugs.
How to use
Zainstaluj AddressSanitizer jako część swojego toolchain'u (dostępny w Clang i GCC). Upewnij się, że masz obsługę na swojej platformie — AddressSanitizer ma ograniczoną obsługę na Windows i macOS.
Podczas kompilacji kodu C/C++, który chcesz testować, dodaj flagę
-fsanitize=addressdo poleceń kompilacji. Na przykład:clang -fsanitize=address program.c -o program.Uruchom fuzzing test na skompilowanym kodzie. AddressSanitizer automatycznie będzie monitorować dostęp do pamięci i alokacje w trakcie wykonania.
Jeśli chcesz zwiększyć szczegółowość raportów, ustaw zmienną środowiskową
ASAN_OPTIONS=verbosity=1przed uruchomieniem testów.W zależności od potrzeb, dostosuj opcje AddressSanitizer: użyj
ASAN_OPTIONS=detect_leaks=0aby wyłączyć detekcję wycieków, lubASAN_OPTIONS=abort_on_error=1aby wymuszić przerwanie programu przy pierwszym błędzie.Przeanalizuj raporty z AddressSanitizer — narzędzie wyświetli dokładną lokalizację i typ błędu pamięci (przepełnienie bufora, use-after-free itp.) wraz ze stosem wywołań.