Google prezantoi sistemin e testimit fuzzing ClusterFuzzLite.

Kompania Google prezantoi projektin ClusterFuzzLite, i cili lejon organizimin e testimit fuzzing të kodit për zbuluar herët vulnerabilitetet e mundshme gjatë punës së sistemeve të integrimit të vazhdueshëm. Aktualisht, ClusterFuzz mund të përdoret për automatizimin e testimit fuzzing të kërkesave pull në GitHub Actions, në Google Cloud Build dhe në Prow, por pritet që në të ardhmen të mbështetet edhe nga sistemet e tjera CI. Projekti bazohet në platformën ClusterFuzz, e krijuar për të koordinuar punën e klastereve të testimit fuzzing, dhe shpërndahet nën licencën Apache 2.0.

Vërehet se pas implementimit në vitin 2016 nga kompania Google të shërbimit OSS-Fuzz, në programin e testimit të vazhdueshëm fuzzing janë pranuar më shumë se 500 projekte të rëndësishme të hapura. Në bazë të kontrolleve të kryera, janë eliminuar më shumë se 6500 vulnerabilitete të konfirmuara dhe janë rregulluar më shumë se 21 mijë gabime. ClusterFuzzLite vazhdon të zhvillojë mekanizmat e testimit fuzzing me mundësinë e zbuluar të problemeve më herët në fazën e rishikimit të ndryshimeve të propozuara. ClusterFuzzLite është implementuar tashmë në proceset e rishikimit të ndryshimeve në projektet systemd dhe curl, dhe ka lejuar identifikimin e gabimeve që ishin anashkaluar nga analizatorët statikë dhe linter-et që ishin përdorur në fazën fillestare të kontrollit të kodit të ri.

ClusterFuzzLite mbështet kontrollin e projekteve në gjuhët C, C++, Java (dhe gjuhët e tjera të bazuara në JVM), Go, Python, Rust dhe Swift. Testimi fuzzing kryhet duke përdorur motorin LibFuzzer. Për identifikimin e gabimeve në punën me memorie dhe anomalive, gjithashtu mund të thirren instrumente si AddressSanitizer, MemorySanitizer dhe UBSan (UndefinedBehaviorSanitizer).

Këto janë mundësitë kryesore të ClusterFuzzLite: kontroll i shpejtë i ndryshimeve të propozuara për të gjetur gabime në fazën para miratimit të kodit; ngarkimi i raporteve mbi kushte të shkaktimit të rënieve; mundësia për kalimin në teste më të thella fuzzing për identifikimin e gabimeve më të thella, që nuk u shfaqën pas verifikimit të ndryshimit të kodit; gjenerimi i raporteve të coverage për vlerësimin e mbulimit të kodit gjatë testimit; arkitekturë modulare, që lejon përzgjedhjen e funksionalitetit të nevojshëm.

Kujtojmë se gjatë testimit fuzzing, krijohet një rrjedhë të të gjitha kombinimeve të mundshme rastësore të të dhënave hyrëse, të afërta me të dhënat reale (për shembull, faqe html me parametra rastësorë të etiketave, arkiva ose imazhe me tituj anormalë etj.), dhe hidrovezionimi i mundësive për çrregullime gjatë procesimit të tyre. Nëse ndonjë sekuencë shkakton një dështim ose nuk korrespondon me reagimin e pritur, ky veprim ka një probabilitet të lartë për të treguar një gabim ose një varfëri.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster