Atheris, Qalabka Qalabka Tijaabada Tijaabada Python

Google ayaa daaha laga rogay dhawaan sii deynta Mashruuca Atheris, taas oo ah horumar ah xirmo qalab furan takhasus leh tijaabooyinka shidaalka ee koodhka Python iyo kordhinta loogu talagalay CPython oo lagu qoray C / C ++.

Mashruuca wuxuu adeegsadaa mishiin ku saleysan libFuzzer waxaana loo isticmaali karaa iyadoo lala kaashanayo Qalabka Nadaafadda Cinwaanka iyo Qalabka Nadaafadda ee aan La Sharaxin si loo ogaado khaladaad dheeri ah. Koodhku wuxuu ku furan yahay liisanka Apache 2.0.

Ku saabsan Google Atheris

Erayada Google Atheris, waa qalab loo isticmaali karo in si toos ah loogu helo qaladaad ku jira koodhka Python iyo kordhinta dhalashada. Atheris waa 'ceymis daboolid' fuzzer, taas oo macnaheedu yahay in Atheris uu si isdaba joog ah isugu dayi doono gashooyin kala duwan oo barnaamijkaaga ah intuu daawanayo isagoo socda oo isku dayaya inuu helo dariiqooyin xiiso leh.

Dib-u-eegista koodhka ee Python 2.7 iyo Python 3.3+ waa la taageerayaa, laakiin si buuxda oo ah, daboolid hagitaan ah, waxaan kugula talineynaa inaad adeegsato laamaha Python 3.8 iyo 3.9, oo hadda taageera tirakoobka opcode ee opcode.

In geeddi-socodka, Atheris wuxuu liis garayaa isku-darka suurtagalka ah ee macluumaadka soo-gelinta wuxuuna soo saaraa warbixin dhammaan cilladaha la ogaado iyo waxyaabaha ka reeban ee aan la ogaan.

Tusaale ahaan, markii la hubinayo maktabadda baaritaanka YAML ee Atheris, waxaa la ogaaday in qaar ka mid ah YAML dhisaan, sida qeexidda "-_" halkii laga heli lahaa tiro integer ah ama adeegsiga liistada halkii fure laga dhigi lahaa, tuur waxyaabo aan laga fileynin halkii aad ka YAMLError qaladka caadiga ah.

Imtixaanka fuzz waa farsamo caan ah oo lagu ogaado khaladaadka barnaamijka. Qaar badan oo ka mid ah khaladaadkan la ogaan karo waxay leeyihiin saameyn xagga amniga ah oo halis ah. Google waxay heshay kumanaan nuglaansho xagga amniga ah iyo cilado kale markii aad adeegsaneysay farsamadan. Fuzzing-ka waxaa dhaqan ahaan loo adeegsadaa afafka hooyo sida C ama C ++, laakiin sanadkii la soo dhaafay waxaan abuurnay matoor cusub oo shidaal shidaal ah. Maanta, waxaan sii deynay mishiinka shidaalka ee Atheris sida il furan.

Atheris sidoo kale waxaa loo isticmaali karaa in lagu aqoonsado kala duwanaanta dhaqanka maktabadaha bartilmaameedsanaya hawlaha isku midka ah. Tusaale ahaan, jeeg kooban oo ku saabsan xirmada Python "idna" iyo maktabadda "libidn2", oo fulisa howsha xallinta magacyada magacyada caalamiga ah, ayaa lagu ogaaday in aysan had iyo jeer soo saarin natiijo isku mid ah.

Mid ka mid ah adeegsiga ugu wanaagsan ee loogu talagalay Atheris waxaa loogu talagalay faafiyayaal kala duwan. Kuwani waa fuzzers raadinaya kala duwanaanta dhaqanka laba maktabadood oo loogu talagalay in lagu sameeyo isla wax. Mid ka mid ah tusaalooyinka shidaalka lagu shubo ee Atheris ayaa sidan u sameeya si loo barbardhigo xirmada "idna" Python iyo xirmada C "libidn2".

Gaar ahaan, haddii domainku adeegsaday isku xigxigga Unicode, markaa "idna" iyo "libidn2" waxay u beddeleen magaca domainka caalamiga ah marti-geliyeyaal kala duwan.

Guud ahaan, Atheris wuxuu faa'iido u leeyahay koodh Python saafi ah illaa iyo inta uu leeyahay qaab lagu muujiyo waxa "saxda ah" dhaqanka, ama ugu yaraan muujinta dabeecadaha aan hubaal ahayn inay sax yihiin. Tani waxay noqon kartaa mid murugsan sida koodhka caadada u ah fuzzer kaas oo qiimeeya saxnaanta wax soo saarka maktabadda, ama sida ugu fudud ee lagu hubinayo inaan la soo qaadin waxyaabo ka reeban oo lama filaan ah.

Waa muhiim inaad tixgeliso taas tijaabooyinka shidaalka waxay dhalinayaan qulqulka dhammaan noocyada isku dhafan ee xogta la gelinayo, kudhow xogta dhabta ah (tusaale. bogagga html oo leh astaamo tags ah oo aan kala sooc lahayn, feylal ama sawirro leh cinwaano aan caadi ahayn, iwm.) kuna hagaaji ciladaha suurtogalka ah ee hawsha ku jira.

Haddii taxane kasta uu keeno mid ka reeban ama uusan u dhigmin jawaabta la filayo, habdhaqankan waxay u egtahay inuu muujinayo cillad ama u nuglaansho.

Ugu dambeyntii, sida ku xusan Atheris wuxuu la shaqeeyaa lambarka Python ee nooca 2.7 iyo 3.3+, in kasta oo Google ay si adag ugu talineyso isticmaalka 3.8+ iyo kordhinta udhaxeysa ee loogu talagalay CPython.

Windows wali kuma dhex jirin nidaamyada hawlgalka ee taageera, markaa mishiinku wuxuu daneynayaa oo keliya Linux iyo Mac OS X isticmaaleyaasha hadda.

Si loogu isticmaalo barnaamijyadan, horumariyayaashu waa inay lahaadaan nooc hadda ka mid ah qalabka loo yaqaan 'Clang compiler frontend' oo lagu rakibay.

Hadaad rabto inaad waxbadan ka ogaato, waxaad ka eegi kartaa qoraalka asalka ah xiriirka soo socda.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.