ClusterFuzzLite, sustav za organiziranje testova fuzziranja koda

nedavno Google je predstavio putem posta na blogu projekt ClusterFuzzLite, koji omogućuje organiziranje fuzzing testova koda za rano otkrivanje potencijalnih ranjivosti u fazi rada kontinuiranih integracijskih sustava.

Trenutno, ClusterFuzz može se koristiti za automatiziranje fuzz testiranja zahtjeva za povlačenjem u GitHub Actions, Google Cloud Build i Prow, ali se očekuje da će u budućnosti biti kompatibilan s drugim IC sustavima. Projekt se temelji na platformi ClusterFuzz, kreiranoj za koordinaciju rada fuzzing testnih klastera, a distribuira se pod licencom Apache 2.0.

Treba napomenuti da je nakon uvođenja usluge OSS-Fuzz od strane Googlea 2016. godine, više od 500 velikih open source projekata primljeno je u program kontinuiranog fuzzing testiranja. Iz provedenih provjera eliminirano je više od 6.500 potvrđenih ranjivosti i ispravljeno više od 21.000 pogrešaka.

O ClusterFuzzLiteu

ClusterFuzzLite nastavlja razvijati fuzzing test mehanizme sa mogućnošću identificiranja problema ranije u fazi recenzije predloženih promjena. ClusterFuzzLite je već uveden u procese pregleda promjena u systemd i curl projektima, te je omogućila prepoznavanje pogrešaka koje nisu otkrivene u statičkim analizatorima i linterima koji su korišteni u početnoj fazi provjere novog koda.

Danas sa zadovoljstvom najavljujemo ClusterFuzzLite, kontinuirano fuzzing rješenje koje radi kao dio CI/CD radnih tokova kako bi se pronašle ranjivosti brže nego ikad. Sa samo nekoliko redaka koda, korisnici GitHuba mogu integrirati ClusterFuzzLite u svoj radni tijek i fuzz pull zahtjeve kako bi uhvatili bugove prije nego što se naprave, poboljšavajući ukupnu sigurnost lanca nabave softvera.
Od njegovog pokretanja 2016. godine, više od 500 kritičnih open source projekata integrirano je u Googleov program OSS-Fuzz, što je rezultiralo ispravljanjem više od 6.500 ranjivosti i 21.000 XNUMX funkcionalnih bugova. ClusterFuzzLite ide ruku pod ruku s OSS-Fuzz, otkrivajući greške regresije mnogo ranije u procesu razvoja.

ClusterFuzzLite podržava validaciju projekta u C, C ++, Javi (i drugi jezici temeljeni na JVM), Go, Python, Rust i Swift. Testovi fuzziranja provode se pomoću LibFuzzer motora. Alati AddressSanitizer, MemorySanitizer i UBSan (UndefinedBehaviorSanitizer) također se mogu pozvati za otkrivanje memorijskih pogrešaka i anomalija.

Od ključnih značajki ClusterFuzzLite ističe na primjer brza provjera predloženih izmjena pronaći pogreške u fazi prije prihvaćanja koda, kao i preuzimanje izvješća o uvjetima nastanka padova, sposobnost kretanja u napredniji fuzzing testovi za identificiranje dubljih pogrešaka koje se nisu pojavile nakon provjere promjene koda, također generiranje izvješća o pokrivenosti za procjenu pokrivenosti koda tijekom testova i modularnu arhitekturu koja vam omogućuje odabir potrebne funkcionalnosti.

Veliki projekti uključujući systemd i curlya koriste ClusterFuzzLite tijekom pregleda koda, s pozitivnim rezultatima. Prema Danielu Stenbergu, autoru curl-a, “Kada se ljudski recenzenti slažu i odobre kod, a njihovi statički analizatori koda i linteri ne mogu otkriti više problema, fuzzing je ono što vas vodi na sljedeću razinu zrelosti i robusnosti koda. OSS-Fuzz i ClusterFuzzLite nam pomažu održati curl kao kvalitetan projekt, cijeli dan, svaki dan i na svakom angažmanu.

Moramo imati na umu da fuzzing testovi generiraju tok svih vrsta nasumičnih kombinacija ulaznih podataka bliskih stvarnim podacima (npr. html stranice s nasumičnim parametrima oznaka, datoteke ili slike s abnormalnim zaglavljima, itd.) i ispravljaju moguće greške u procesu.

Ako bilo koji slijed ne uspije ili ne odgovara očekivanom odgovoru, ovo ponašanje najvjerojatnije ukazuje na bug ili ranjivost.

Konačno ako vas zanima više o tome, možete provjeriti detalje U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.