Toolverse
Wszystkie skille

ruzzy

autor: trailofbits

Fuzzing dla kodu Ruby z pokryciem ścieżek wykonania i detekcją błędów pamięci

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Testowanie
Wyświetlenia
2

O skillu

Ruzzy to narzędzie do fuzzingu kodu Ruby zbudowane na libFuzzer, opracowane przez Trail of Bits. Umożliwia testowanie zarówno czystego kodu Ruby, jak i rozszerzeń Ruby w C, z wbudowaną obsługą sanitizerów do wykrywania uszkodzeń pamięci i niezdefiniowanego zachowania. Jest to jedyne gotowe do produkcji narzędzie do coverage-guided fuzzingu dla Ruby. Użyj go do testowania aplikacji Ruby, bibliotek oraz gemów z natywnymi rozszerzeniami pod kątem bezpieczeństwa pamięci.

Jak używać

  1. Sprawdź wymagania systemowe: Ruzzy działa na Linuksie x86-64 i AArch64/ARM64. Upewnij się, że masz zainstalowany clang (wersja 14.0.0 lub nowsza) oraz Ruby z gemsem.
  2. Ustaw zmienne środowiskowe przed instalacją. Wykonaj polecenie gem install ruzzy z parametrami CC, CXX, LDSHARED i LDSHAREDXX wskazującymi na ścieżki do binariów clang, aby zapewnić użycie właściwych wersji kompilatora.
  3. Skonfiguruj opcje ASAN dla fuzzingu, ustawiając zmienną środowiskową ASAN_OPTIONS na wartość "allocator_may_return_null=1:detect_leaks=0:use_sigaltstack=0".
  4. Przetestuj instalację za pomocą dołączonego przykładu. Uruchom polecenie z LD_PRELOAD wskazującym na bibliotekę ASAN z Ruzzy, a następnie załaduj gem i wywołaj Ruzzy.dummy.
  5. Po potwierdzeniu działania narzędzia zacznij fuzzing swojego kodu Ruby. Zintegruj Ruzzy z procesem testowania rozszerzeń Ruby w C lub aplikacji, które chcesz testować pod kątem błędów pamięci.

Podobne skille