Atheris, Python Code Testing Toolkit

Google kpughere na nso nso a na ntọhapụ nke Atheris oru ngo, nke bu mmepe nke set nke ngwaọrụ mmeghe ọkachamara maka ule fuzzing nke koodu Python na ndọtị maka CPython nke e dere na C / C ++.

Ọrụ ahụ na-eji igwe libFuzzer ma enwere ike iji ya na njikọ ya na Adreesị Sanitizer na Akụrụngwa akparamàgwà ezighi ezi iji chọpụta njehie ndị ọzọ. Koodu na-emeghe n'okpuru ikikere Apache 2.0.

Banyere Google Atheris

Na okwu nke Google Atheris, ọ bụ ngwa ọrụ enwere ike iji ya chọta njehie na koodu Python na mgbakwunye obodo. Atheris bụ ihe mkpuchi 'mkpuchi', nke pụtara na Atheris ga-anwale ntinye dị iche iche na ihe ngosi gị mgbe ị na-ele ya ka ọ na-agba ọsọ ma gbalịa ịchọta ụzọ dị mma.

A na-akwado nyocha usoro maka Python 2.7 na Python 3.3+, ma maka mkpuchi zuru ezu na-eduzi, a na-atụ aro ka ị jiri Python 3.8 na 3.9 alaka, nke na-akwado opcode ọnụ ọgụgụ ugbu a site na opcode.

Na usoro, Atheris depụtara njikọ dị iche iche nke data ntinye ma nweta akụkọ na mmejọ niile achọpụtara na ndị anaghị achọpụta.

Dịka ọmụmaatụ, mgbe ị na-enyocha ọba akwụkwọ nyocha YAML na Atheris, achọpụtara na ụfọdụ YAML na-arụpụta ihe, dị ka ịkọwapụta "-_" kama iji ọnụahịa ọnụọgụ ma ọ bụ jiri ndepụta kama igodo, tụfuo ihe atụghị anya karịa ọkọlọtọ YAMLErrors njehie.

Nnwale fuzz bụ usoro a maara nke ọma maka ịchọta njehie mmemme. Ọtụtụ n'ime njehie ndị a na-achọpụta nwere nnukwu ihe metụtara nchekwa. Google achọpụtala ọtụtụ puku nchebe nchebe na chinchi ndị ọzọ mgbe ị na-eji usoro a. A na-ejikarị Fuzzing eme ihe n'asụsụ ala dị ka C ma ọ bụ C ++, mana afọ gara aga, anyị mepụtara igwe ọhụrụ Python fuzzing. Taa, anyị wepụtara engine nke Atheris fuzzing dị ka ihe mepere emepe.

Atheris enwere ike iji ya chọpụta ọdịiche dị na omume nke ọba akwụkwọ ndị lekwasịrị anya n'otu ọrụ. Dịka ọmụmaatụ, nchịkọta nchịkọta nke ngwugwu Python "idna" na ọbá akwụkwọ "libidn2", nke na-arụ ọrụ nke idozi aha ngalaba aha mba, chọpụtara na ọ bụghị mgbe niile ka ha na-ewepụta otu nsonaazụ ahụ.

Otu n'ime ojiji kachasị mma maka Atheris bụ maka ndị mgbasa ozi dị iche. Ndị a bụ ndị fuzzers na-achọ ọdịiche dị na akparamagwa nke ọba akwụkwọ abụọ a chọrọ ime otu ihe. Otu ihe atụ fuzzers jikọtara ya na Atheris mere nke a iji tulee ngwugwu "idna" Python na ngwugwu C "libidn2".

Karịsịa, ọ bụrụ na ngalaba ahụ jiri usoro Unicode mee ihe, mgbe ahụ "idna" na "libidn2" gbanwere aha ngalaba mba ụwa gaa na ndị ọbịa dị iche iche.

Na mkpokọta, Atheris bara uru na koodu Python dị ọcha ma ọ bụrụhaala na ọ nwere ụzọ isi gosipụta ihe bụ "omume" ziri ezi, ma ọ bụ opekata mpe na-egosi omume ndị na-ezighi ezi. Nke a nwere ike ịdị mgbagwoju anya dị ka koodu ọdịnala na fuzzer nke na-enyocha izi ezi nke ọpụpụ ọbá akwụkwọ, ma ọ bụ dị mfe dị ka ịlele na enweghị ihe ọ bụla na-atụghị anya ya.

Ọ dị mkpa iburu n'uche nke ahụ ule na-enwu gbaa na-eweputa otutu uzo di iche iche nke ntinye data. na-eru nso n'ezie data (eg HTML peeji nke na random mkpado parameters, faịlụ ma ọ bụ ihe oyiyi na ndiiche isi, wdg) na idozi omume glitches na usoro.

Ọ bụrụ na usoro ọ bụla na-ebute ma ọ bụ na-adabaghị na nzaghachi a tụrụ anya ya, omume a yikarịrị ka ọ na-egosi ahụhụ ma ọ bụ adịghị ike.

N'ikpeazụ, dị ka e kwuru Atheris na-arụ ọrụ na koodu Python na mbipute 2.7 na 3.3 +, ọ bụ ezie na Google na-atụsi ike iji 3.8 + na ndọtị ala ndị edere maka CPython.

Windows erubeghị n'etiti usoro sistemụ akwado, ya mere njin ahụ nwere mmasị na ndị ọrụ Linux na Mac OS X maka ugbu a.

Iji jiri ya na nyiwe ndị a, ndị mmepe ga-enwerịrị ụdị nke Clang compiler frontend arụnyere.

Ọ bụrụ na ị chọrọ ịmatakwu banyere ya, ị nwere ike ịlele ederede mbụ na esonụ njikọ.


Ọdịnaya nke isiokwu agbaso ụkpụrụ anyị nke ụkpụrụ nduzi. Kpesa mmejọ pịa ebe a.

Bụrụ onye mbụ ịza ajụjụ

Hapu okwu gi

Adreesị email gị agaghị bipụtara. Chọrọ ubi na-akara na *

*

*

  1. Rụ ọrụ maka data: Miguel Ángel Gatón
  2. Nzube nke data: Nchịkwa SPAM, njikwa okwu.
  3. Ikike: Nkwenye gị
  4. Nkwurịta okwu nke data: Agaghị agwa ndị ọzọ data ahụ ma ọ bụghị site na iwu.
  5. Nchekwa data: Ebe nchekwa data nke Occentus Networks (EU) kwadoro
  6. Ikike: Oge obula inwere ike igbachi, weghachite ma hichapụ ihe omuma gi.