ClusterFuzzLite, süsteem koodide segamise testide korraldamiseks

Hiljuti Google avalikustas blogipostituse kaudu projekt ClusterFuzzLite, mis võimaldab korraldada fuzzing teste koodi võimalike haavatavuste varaseks avastamiseks pideva integreerimise süsteemide tööfaasis.

Praegu ClusterFuzz saab kasutada GitHub Actionsi tõmbetaotluste fuzz-testimise automatiseerimiseks, Google Cloud Build ja Prow, kuid eeldatavasti ühildub see tulevikus ka teiste IC-süsteemidega. Projekt põhineb platvormil ClusterFuzz, mis on loodud fuzzing testklastrite töö koordineerimiseks ja seda levitatakse Apache 2.0 litsentsi all.

Tuleb märkida, et pärast Google'i OSS-Fuzz teenuse kasutuselevõttu 2016. aastal võeti pidevasse fuzzing testimisprogrammi vastu üle 500 suurema avatud lähtekoodiga projekti. Läbiviidud kontrollide käigus on kõrvaldatud üle 6.500 kinnitatud turvaauku ja parandatud üle 21.000 XNUMX vea.

Teave ClusterFuzzLite'i kohta

ClusterFuzzLite jätkab hägusate testimismehhanismide väljatöötamist võimalusega tuvastada probleeme kavandatud muudatuste eksperdihinnangu faasis varem. ClusterFuzzLite on juba kasutusele võetud systemd- ja curl-projektide muudatuste ülevaatamise protsessides, ning see on võimaldanud tuvastada vead, mida uue koodi kontrollimise algfaasis kasutatud staatilistes analüsaatorites ja linterites ei tuvastatud.

Täna on meil hea meel teatada ClusterFuzzLite'ist, pidevast segamislahendusest, mis töötab CI/CD töövoogude osana, et leida haavatavused kiiremini kui kunagi varem. Vaid mõne koodirea abil saavad GitHubi kasutajad integreerida ClusterFuzzLite'i oma töövoogu ja eemaldada tõmbetaotlused, et tuvastada vead enne nende tegemist, parandades sellega tarkvara tarneahela üldist turvalisust.
Alates selle käivitamisest 2016. aastal on Google'i OSS-Fuzz programmi integreeritud enam kui 500 kriitilist avatud lähtekoodiga projekti, mille tulemusel on parandatud üle 6.500 haavatavuse ja 21.000 XNUMX funktsionaalset viga. ClusterFuzzLite käib käsikäes OSS-Fuzziga, tuvastades regressioonivead palju varem arendusprotsessis.

ClusterFuzzLite toetab projekti valideerimist C, C ++ ja Java keeles (ja teised JVM-põhised keeled), Go, Python, Rust ja Swift. Hägukatsed viiakse läbi LibFuzzeri mootoriga. Mäluvigade ja -anomaaliate tuvastamiseks saab kutsuda ka tööriistu AddressSanitizer, MemorySanitizer ja UBSan (UndefinedBehaviorSanitizer).

Põhijooned ClusterFuzzLite tõstab esile näiteks kavandatud muudatuste kiire kontrollimine vigade leidmiseks koodi vastuvõtmisele eelnevas etapis, samuti aruannete allalaadimine avariide toimumise tingimuste kohta, võime liikuda täpsemad hägusustestid tuvastada sügavamad vead, mis pärast koodivahetuse kontrollimist ei ilmnenud, ka katvusraportite genereerimine, et hinnata koodi katvust testide käigus ning moodularhitektuur, mis võimaldab valida vajaliku funktsionaalsuse.

Suured projektid, sealhulgas systemd ja curlya, kasutavad koodi ülevaatuse ajal ClusterFuzzLite'i positiivsete tulemustega. Curl'i autori Daniel Stenbergi sõnul: "Kui inimestest ülevaatajad nõustuvad ja on koodi heaks kiitnud ning nende staatilised koodianalüsaatorid ja linterid ei suuda enam probleeme tuvastada, viib hägunemine teid koodi küpsuse ja vastupidavuse järgmisele tasemele. OSS-Fuzz ja ClusterFuzzLite aitavad meil hoida lokke kvaliteetse projektina kogu päeva, iga päev ja igal kaasamisel.

Peame meeles pidama, et fuzzing testid genereerivad igasuguste juhuslike sisendandmete kombinatsioonide voo, mis on lähedased tegelikele andmetele (nt juhuslike sildiparameetritega html-lehed, ebanormaalsete päistega failid või pildid jne) ja parandavad võimalikud tõrked protsessis.

Kui mõni järjestus ebaõnnestub või ei vasta oodatud vastusele, viitab see käitumine tõenäoliselt veale või haavatavusele.

Lõpuks kui olete huvitatud sellest rohkem teada saama, saate üksikasju vaadata Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.