Google je predstavio ClusterFuzzLite fuzzing sistem za testiranje

Google je predstavio ClusterFuzzLite projekat, koji omogućava organizovanje fuzz testiranja koda za rano otkrivanje potencijalnih ranjivosti tokom rada sistema kontinuirane integracije. Trenutno, ClusterFuzz se može koristiti za automatizaciju fuzz testiranja pull zahtjeva u GitHub Actions, Google Cloud Build i Prow, ali se u budućnosti očekuje podrška za druge CI sisteme. Projekat je baziran na platformi ClusterFuzz, kreiranoj za koordinaciju rada klastera fuzzing testiranja, a distribuira se pod licencom Apache 2.0.

Napominje se da je nakon što je Google uveo OSS-Fuzz uslugu 2016. godine, više od 500 važnih projekata otvorenog koda primljeno je u program kontinuiranog fuzzing testiranja. Na osnovu sprovedenih testova eliminisano je više od 6500 potvrđenih ranjivosti i ispravljeno više od 21 hiljade grešaka. ClusterFuzzLite nastavlja da razvija mehanizme fuzzing testiranja sa mogućnošću da identifikuje probleme ranije u fazi pregleda predloženih promena. ClusterFuzzLite je već implementiran u procesima pregleda promjena u systemd i curl projektima, te je omogućio identifikaciju grešaka koje su promašili statički analizatori i linteri koji se koriste u početnoj fazi provjere novog koda.

ClusterFuzzLite podržava pregled projekata u C, C++, Javi (i drugim jezicima zasnovanim na JVM), Go, Python, Rust i Swift. Testiranje fuzzinga se vrši pomoću LibFuzzer motora. Alati AddressSanitizer, MemorySanitizer i UBSan (UndefinedBehaviorSanitizer) također se mogu pozvati za identifikaciju memorijskih grešaka i anomalija.

Ključne karakteristike ClusterFuzzLite: brza provjera predloženih izmjena kako bi se pronašle greške prije prihvatanja koda; preuzimanje izvještaja o uslovima pada; mogućnost da se pređe na naprednije testiranje rasplinjavanja kako bi se identifikovale dublje greške koje se nisu pojavile nakon provjere promjena koda; generisanje izveštaja o pokrivenosti za procenu pokrivenosti koda tokom testiranja; modularna arhitektura koja vam omogućava da odaberete potrebnu funkcionalnost.

Podsjetimo se da fuzzing testiranje uključuje generiranje toka svih vrsta nasumičnih kombinacija ulaznih podataka koji su bliski stvarnim podacima (na primjer, html stranice sa nasumičnim parametrima tagova, arhive ili slike sa anomalnim naslovima, itd.), i moguće snimanje neuspjesi u procesu njihove obrade. Ako se sekvenca sruši ili ne odgovara očekivanom odgovoru, onda je velika vjerovatnoća da ovo ponašanje ukazuje na grešku ili ranjivost.

izvor: opennet.ru

Dodajte komentar