Atheris, ib lub Cim Ntsuas Cov Ntsuas Kev Ntsuas Cov Lus Cim

Google unveiled nyuam qhuav tso tawm ntawm Atheris project, uas yog kev txhim kho ntawm txheej txheej txheem qhib cov cuab yeej siv tau tshwj xeeb rau qhov fuzzing kev ntsuam xyuas ntawm sej code thiab txuas ntxiv rau CPython sau hauv C / C ++.

Qhov project siv lub libFuzzer raws li cav thiab tuaj yeem siv ua ke nrog nrog Cov Khoom Pabcuam Chaw Nyob thiab Tsis Siv Neeg Tus Cwj Pwm Cuam Tshuam los kuaj xyuas cov txhaum ntxiv. Txoj cai qhib hauv qab daim ntawv tso cai Apache 2.0.

Txog Google Atheris

Hauv cov lus ntawm Google Atheris, nws yog cov cuab yeej siv uas tuaj yeem siv los nrhiav pom qhov ua yuam kev hauv sej code thiab haiv txuas ntxiv. Atheris yog 'kev pab them nqi tsav' fuzzer, uas txhais tau tias Atheris yuav rov qab ntsuas ntau cov lus qhia rau koj qhov kev zov me nyuam thaum saib nws khiav thiab sim nrhiav txoj kev nthuav.

Txoj cai xyuas rau sej 2.7 thiab Python 3.3+ yog kev txhawb nqa, tab sis kom tag nrho, kev coj ua pov thawj, peb pom zoo kom siv cov nab hab sej 3.8 thiab 3.9 ceg, uas tam sim no txhawb opcode txheeb cais los ntawm opcode.

Nyob rau hauv tus txheej txheem, Atheris teev cov kev sib txuas ua ke ntawm cov ntaub ntawv nkag thiab tsim cov ntawv tshaj tawm ntawm txhua qhov ua txhaum pom thiab tsis suav tias yog qhov zam.

Piv txwv li, thaum tshawb xyuas YAML kev txheeb xyuas lub tsev qiv ntawv hauv Atheris, nws pom tias qee qhov YAML tsim, xws li kev qhia "-_" hloov tus nqi suav lossis siv cov npe tsis siv tus yuam sij, pov cov kev npaj txhij txog tsis siv YAMLErrors txheem yuam kev.

Qhov kev ntsuam xyuas fuzz yog ib qho txheej txheem uas paub zoo txog kev tshawb nrhiav cov phiaj xwm tsis raug. Ntau yam ntawm cov tsis raug kuaj pom muaj qhov cuam tshuam kev nyab xeeb loj. Google tau pom ntau txhiab kev ruaj ntseg ruaj khov thiab lwm yam kab laum thaum siv cov txheej txheem no. Fuzzing yog ib txwm siv nyob rau hauv hom lus xws li C lossis C ++, tab sis xyoo tas los peb tau tsim lub Python fuzzing cav tshiab. Niaj hnub no, peb tso tawm lub Atheris fuzzing cav raws li qhib kev.

Atheris kuj tseem siv tau los txheeb xyuas qhov sib txawv ntawm tus cwj pwm ntawm cov tsev qiv ntawv uas phiaj cov haujlwm zoo ib yam. Piv txwv li, daim ntawv txheeb xyuas lub sijhawm ntawm Python pob "idna" thiab lub tsev qiv ntawv "libidn2", uas ua cov haujlwm ntawm kev txiav txim siab cov npe ntawm cov npe hauv thoob ntiaj teb, pom tias lawv tsis ib txwm ua cov txiaj ntsig ib yam.

Ib txoj hauv kev zoo tshaj plaws rau Atheris yog rau cov diffusers txawv. Cov no yog cov fuzzers uas saib rau qhov sib txawv ntawm tus cwj pwm ntawm ob lub tsev qiv ntawv uas tau txhais ua tib qho. Ib qhov piv txwv fuzzers bundled nrog Atheris ua raws nraim qhov no los sib piv Python 'idna "pob nrog cov pob" C libidn2 ".

Hauv tshwj xeeb, yog tias tus sau siv Unicode ntu, tom qab ntawd "idna" thiab "libidn2" hloov tus npe txawv teb chaws mus rau lwm tus tswv.

Feem ntau, Atheris muaj txiaj ntsig hauv qhov ntshiab Python code tsuav nws muaj txoj hauv kev los piav qhia qhov kev coj ua "tseeb" yog dab tsi, lossis tsawg kawg hais txog qhov kev coj cwj pwm twg yog qhov tsis raug. Qhov no tuaj yeem ua qhov nyuaj raws li kev cai sau rau hauv lub fuzzer uas ntsuas qhov raug ntawm lub tsev qiv ntawv cov khoom tawm, lossis yooj yim xws li kev kuaj xyuas tias tsis muaj qhov zam tau npaj tsis tau raug tsa.

Nws yog ib qho tseem ceeb uas yuav tsum coj los rau hauv qhov ntawd cov kev ntsuam xyuas qhov tseeb tau tsim cov kwj ntawm txhua hom kev sib xyaw ntawm cov ntawv sau cov ntsiab lus, ze rau cov ntaub ntawv tiag tiag (piv txwv li nplooj ntawv html nrog random cim tsis raug, cov ntaub ntawv lossis cov duab nrog cov ntawv tsis xwm yeem, thiab lwm yam) thiab txhim kho qhov tsis zoo ntawm cov txheej txheem.

Yog tias ib qho kab lus twg ua rau muaj kev zam lossis tsis phim rau cov lus teb kev cia siab, tus cwj pwm no feem ntau yuav qhia txog kab laum lossis kev ruaj khov.

Thaum kawg, raws li tau hais Atheris ua haujlwm nrog sej code hauv version 2.7 thiab 3.3+, txawm hais tias Google xav pom zoo kom siv 3.8+ thiab ib txwm txuas ntxiv sau rau CPython.

Lub Windows tseem tsis tau nrog cov operating system uas txhawb nqa, yog li lub cav tsuas yog txaus siab rau Linux thiab Mac OS X cov neeg siv rau tam sim no.

Txhawm rau siv nws ntawm cov phiaj xwm no, cov neeg tsim tawm yuav tsum muaj qhov tam sim no ntawm Clang compiler frontend raug ntsia.

Yog tias koj xav paub ntxiv txog nws, koj tuaj yeem tshawb xyuas cov thawj ntawv hauv phau ntawv kev txuas mus ntxiv.


Cov ntsiab lus ntawm tsab xov xwm ua raws li peb cov ntsiab cai ntawm kev tswj hwm kev ncaj nceesCov. Tshaj tawm ib qho yuam kev nyem no.

Yog thawj tus tuaj tawm tswv yim

Tso koj saib

Koj email chaw nyob yuav tsis tsum luam tawm. Yuav tsum tau teb cov cim nrog *

*

*

  1. Lub luag haujlwm rau cov ntaub ntawv: Miguel Ángel Gatón
  2. Lub hom phiaj ntawm cov ntaub ntawv: Tswj SPAM, kev tswj xyuas tawm tswv yim.
  3. Sau raws cai: Koj kev tso cai
  4. Kev sib txuas lus ntawm cov ntaub ntawv: Cov ntaub ntawv yuav tsis raug xa mus rau lwm tus neeg thib peb tsuas yog los ntawm kev txiav txim siab raug cai.
  5. Cov ntaub ntawv khaws cia: Cov Ntaub Ntawv khaws tseg los ntawm Occentus Networks (EU)
  6. Txoj Cai: Txhua lub sijhawm koj tuaj yeem txwv, rov qab thiab tshem tawm koj cov ntaub ntawv.