ClusterFuzzLite, sistēma kodu izplūdes testu organizēšanai

Nesen Google atklāja izmantojot emuāra ziņu ClusterFuzzLite projekts, kas ļauj organizēt izplūdušos testus kodu, lai agrīni atklātu iespējamās ievainojamības nepārtrauktas integrācijas sistēmu darbības posmā.

Pašlaik ClusterFuzz var izmantot, lai automatizētu izvilkšanas pieprasījumu izplūdes testēšanu pakalpojumā GitHub Actions, Google Cloud Build un Prow, taču paredzams, ka nākotnē tas būs savietojams ar citām IC sistēmām. Projekts ir balstīts uz ClusterFuzz platformu, kas izveidota, lai koordinētu izplūdušo testa klasteru darbu, un tiek izplatīts saskaņā ar Apache 2.0 licenci.

Jāpiebilst, ka pēc Google OSS-Fuzz pakalpojuma ieviešanas 2016. gadā vairāk nekā 500 lielu atvērtā pirmkoda projektu tika pieņemti nepārtrauktajā fuzzing testēšanas programmā. No veiktajām pārbaudēm ir novērstas vairāk nekā 6.500 apstiprinātas ievainojamības un izlabotas vairāk nekā 21.000 XNUMX kļūdu.

Par ClusterFuzzLite

ClusterFuzzLite turpina izstrādāt fuzzing testa mehānismus ar spēju noteikt problēmas agrāk ierosināto izmaiņu salīdzinošās pārskatīšanas posmā. ClusterFuzzLite jau ir ieviests izmaiņu pārskatīšanas procesos systemd un curl projektos, un tas ir ļāvis identificēt kļūdas, kas netika atklātas statiskajos analizatoros un līnijās, kas tika izmantoti jaunā koda verifikācijas sākotnējā posmā.

Šodien mēs esam priecīgi paziņot par ClusterFuzzLite — nepārtrauktu izplūdes risinājumu, kas darbojas kā daļa no CI/CD darbplūsmām, lai ātrāk nekā jebkad agrāk atrastu ievainojamības. Izmantojot tikai dažas koda rindiņas, GitHub lietotāji var integrēt ClusterFuzzLite savā darbplūsmā un izvilkt pieprasījumus, lai konstatētu kļūdas pirms to rašanas, tādējādi uzlabojot programmatūras piegādes ķēdes vispārējo drošību.
Kopš tās palaišanas 2016. gadā Google OSS-Fuzz programmā ir integrēti vairāk nekā 500 kritisku atvērtā pirmkoda projektu, kā rezultātā ir izlabotas vairāk nekā 6.500 ievainojamības un 21.000 XNUMX funkcionālu kļūdu. ClusterFuzzLite iet roku rokā ar OSS-Fuzz, atklājot regresijas kļūdas daudz agrāk izstrādes procesā.

ClusterFuzzLite atbalsta projektu validāciju C, C ++, Java (un citas uz JVM balstītas valodas), Go, Python, Rust un Swift. Izplūdes testi tiek veikti, izmantojot LibFuzzer dzinēju. AddressSanitizer, MemorySanitizer un UBSan (UndefinedBehaviorSanitizer) rīkus var arī izsaukt, lai noteiktu atmiņas kļūdas un anomālijas.

No galvenajām iezīmēm ClusterFuzzLite izceļ, piemēram, ātra ierosināto izmaiņu pārbaude atrast kļūdas posmā pirms koda pieņemšanas, kā arī ziņojumu lejupielāde par avāriju rašanās apstākļiem, spēja pāriet uz uzlaboti izplūdes testi lai identificētu dziļākas kļūdas, kas neparādījās pēc koda maiņas pārbaudes, arī pārklājuma atskaišu ģenerēšana, lai novērtētu koda pārklājumu testu laikā un modulāro arhitektūru, kas ļauj izvēlēties nepieciešamo funkcionalitāti.

Lielos projektos, tostarp systemd un curlya, koda pārskatīšanas laikā tiek izmantots ClusterFuzzLite ar pozitīviem rezultātiem. Kā stāsta grāmatas curl autors Daniels Stenbergs: “Kad cilvēku pārskatītāji piekrīt un ir apstiprinājuši kodu un viņu statiskie koda analizatori un ieliktņi vairs nevar atklāt nekādas problēmas, izplūšana ir tas, kas pārved jūs uz nākamo koda brieduma un robustuma līmeni. OSS-Fuzz un ClusterFuzzLite palīdz mums uzturēt čokurošanās kā kvalitatīvu projektu visu dienu, katru dienu un katrā iesaistīšanās reizē.

Jāatceras, ka izplūdes testi ģenerē visu veidu nejaušu ievaddatu kombināciju straumi, kas ir tuvu faktiskajiem datiem (piemēram, html lapas ar nejaušiem tagu parametriem, faili vai attēli ar neparastām galvenēm utt.) un novērš iespējamās kļūmes šajā procesā.

Ja kāda secība neizdodas vai neatbilst gaidītajai reakcijai, šī darbība, visticamāk, norāda uz kļūdu vai ievainojamību.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.