# Projekt - Podstawy bezpieczeństwa komputerowego W ramach projektu zaimplementowany zostały fuzzer do testowania JSON parsera.
Implementacja JSON parsera znajduje się na githubie: https://github.com/geekskool/python-json-parser ## Opis działania fuzzera Fuzzer w losowy sposób generuje poprawne JSON-y, a następnie wprowadza do nich popularne błędy, aby sprawdzić, jak parser radzi sobie z niepoprawnymi danymi. Popularne błędy obejmują: - brakujące zamknięcie cudzysłowu. - brakujące zamknięcie nawiasu klamrowego lub kwadratowego. - dodatkowy przecinek na końcu listy lub obiektu. - brakujący dwukropek w obiekcie. Wyniki testów są zapisywane do pliku logów, a następnie analizowane, aby ocenić skuteczność parsera. ## Wynik przeprowadzonych testów Przeprowadzono 100,000 testów, które trwały 28 sekund. - Powiodło się 94,361 testów. - Nie przeszło 5,639 testów. ## Wnioski Wszystkie JSON-y, które nie zostały celowo "zepsute" poprzez wprowadzenie popularnych błędów, przeszły testy pomyślnie. Oznacza to, że algorytm jest w stanie poprawnie sparsować każdy poprawny JSON niezależnie od danych wewnątrz. JSON-y zawierające typowe błędy, takie jak: - niedomknięty cudzysłów, - podwójny przecinek, - brakujący nawias klamrowy, - brakujący dwukropek w obiekcie, spowodowały niepowodzenie testów. Aby algorytm przeszedł wszystkie testy, należałoby dodać odpowiednią obsługę błędnych JSON-ów, co pozwoliłoby na wykrywanie i raportowanie tych błędów zamiast generowania wyjątków lub niepoprawnych wyników.