ആതറിസ്, പൈത്തൺ കോഡ് ടെസ്റ്റിംഗ് ടൂൾകിറ്റ്

Google അനാച്ഛാദനം ചെയ്തു അടുത്തിടെ പുറത്തിറങ്ങി ആതറിസ് പ്രോജക്റ്റ്, ഇത് ഒരു വികസനമാണ് ഒരു കൂട്ടം ഓപ്പൺ സോഴ്‌സ് ഉപകരണങ്ങൾ പ്രത്യേക പൈത്തൺ കോഡിന്റെ മങ്ങിയ പരിശോധനകൾക്കായി സി / സി ++ ൽ എഴുതിയ സിപൈത്തണിനായുള്ള വിപുലീകരണങ്ങളും.

പദ്ധതി ഒരു libFuzzer അടിസ്ഥാനമാക്കിയുള്ള എഞ്ചിൻ ഉപയോഗിക്കുന്നു കൂടാതെ അധിക പിശകുകൾ കണ്ടെത്തുന്നതിന് വിലാസ സാനിറ്റൈസർ, നിർവചിക്കാത്ത ബിഹേവിയർ സാനിറ്റൈസർ ഉപകരണങ്ങൾ എന്നിവയുമായി സംയോജിച്ച് ഉപയോഗിക്കാം. അപ്പാച്ചെ 2.0 ലൈസൻസിന് കീഴിൽ കോഡ് തുറന്നിരിക്കുന്നു.

Google Atheris നെക്കുറിച്ച്

Google Atheris ന്റെ വാക്കുകളിൽ‌, പൈത്തൺ‌ കോഡിലും നേറ്റീവ് എക്സ്റ്റൻഷനുകളിലും പിശകുകൾ‌ സ്വപ്രേരിതമായി കണ്ടെത്താൻ‌ കഴിയുന്ന ഒരു ടൂൾ‌കിറ്റാണ് ഇത്. 'കവറേജ് നയിക്കുന്ന' ഫസറാണ് ആതറിസ്, അതായത് നിങ്ങളുടെ പ്രോഗ്രാം പ്രവർത്തിക്കുന്നത് കാണുമ്പോൾ അതീറിസ് വിവിധ ഇൻപുട്ടുകൾ ആവർത്തിച്ച് ശ്രമിക്കുകയും രസകരമായ പാതകൾ കണ്ടെത്താൻ ശ്രമിക്കുകയും ചെയ്യും.

പൈത്തൺ 2.7, പൈത്തൺ 3.3+ എന്നിവയ്‌ക്കായുള്ള കോഡ് അവലോകനം പിന്തുണയ്‌ക്കുന്നു, പക്ഷേ പൂർണ്ണമായ മാർഗ്ഗനിർദ്ദേശ കവറേജിനായി, പൈത്തൺ 3.8, 3.9 ശാഖകൾ ഉപയോഗിക്കാൻ ശുപാർശചെയ്യുന്നു, ഇത് ഇപ്പോൾ ഓപ്‌കോഡ് മുഖേന ഓപ്‌കോഡ് സ്ഥിതിവിവരക്കണക്കുകളെ പിന്തുണയ്‌ക്കുന്നു.

നടന്നു കൊണ്ടിരിക്കുന്നു, ഇൻപുട്ട് ഡാറ്റയുടെ സാധ്യമായ കോമ്പിനേഷനുകൾ ആതറിസ് ലിസ്റ്റുചെയ്യുകയും ഒരു റിപ്പോർട്ട് ജനറേറ്റുചെയ്യുകയും ചെയ്യുന്നു കണ്ടെത്തിയ എല്ലാ പിശകുകളിലും കണ്ടെത്താത്ത ഒഴിവാക്കലുകളിലും.

ഉദാഹരണത്തിന്, ആതറിസിലെ YAML പാഴ്‌സിംഗ് ലൈബ്രറി പരിശോധിക്കുമ്പോൾ, ഒരു സംഖ്യ മൂല്യത്തിന് പകരം "-_" വ്യക്തമാക്കുക അല്ലെങ്കിൽ ഒരു കീയ്ക്ക് പകരം ഒരു ലിസ്റ്റ് ഉപയോഗിക്കുക എന്നിങ്ങനെയുള്ള ചില YAML നിർമ്മാണങ്ങൾ കണ്ടെത്തി, ഒരു YAMLErrors സ്റ്റാൻഡേർഡിന് പകരം ഒരു അപ്രതീക്ഷിത ഒഴിവാക്കൽ എറിയുക. പിശക്.

പ്രോഗ്രാമിംഗ് പിശകുകൾ കണ്ടെത്തുന്നതിനുള്ള അറിയപ്പെടുന്ന ഒരു സാങ്കേതികതയാണ് ഫസ് ടെസ്റ്റ്. കണ്ടെത്താവുന്ന ഈ പിശകുകളിൽ പലതിലും ഗുരുതരമായ സുരക്ഷാ പ്രത്യാഘാതങ്ങളുണ്ട്. ഈ സാങ്കേതികവിദ്യ ഉപയോഗിക്കുമ്പോൾ ആയിരക്കണക്കിന് സുരക്ഷാ കേടുപാടുകളും മറ്റ് ബഗുകളും Google കണ്ടെത്തി. ഫസിംഗ് പരമ്പരാഗതമായി സി അല്ലെങ്കിൽ സി ++ പോലുള്ള പ്രാദേശിക ഭാഷകളിൽ ഉപയോഗിക്കുന്നു, എന്നാൽ കഴിഞ്ഞ വർഷം ഞങ്ങൾ ഒരു പുതിയ പൈത്തൺ ഫസിംഗ് എഞ്ചിൻ സൃഷ്ടിച്ചു. ഇന്ന്, ഞങ്ങൾ ആതറിസ് ഫസിംഗ് എഞ്ചിൻ ഓപ്പൺ സോഴ്‌സായി പുറത്തിറക്കി.

ആതറിസ് സ്വഭാവത്തിലെ വ്യത്യാസങ്ങൾ തിരിച്ചറിയാനും ഇത് ഉപയോഗിക്കാം സമാന ജോലികൾ ടാർഗെറ്റുചെയ്യുന്ന ലൈബ്രറികളുടെ. ഉദാഹരണത്തിന്, അന്താരാഷ്ട്രവൽക്കരിച്ച ഡൊമെയ്ൻ നാമങ്ങൾ ഡീകോഡ് ചെയ്യുന്ന ചുമതല നിർവഹിക്കുന്ന പൈത്തൺ പാക്കേജിന്റെ "ഇഡ്ന", ലൈബ്രറി "ലിബിഡ്ൻ 2" എന്നിവയുടെ സംഗ്രഹ പരിശോധന, അവ എല്ലായ്പ്പോഴും ഒരേ ഫലം നൽകുന്നില്ലെന്ന് കണ്ടെത്തി.

ഡിഫറൻഷ്യൽ ഡിഫ്യൂസറുകളാണ് ആതറിസിനുള്ള ഏറ്റവും മികച്ച ഉപയോഗങ്ങളിലൊന്ന്. ഒരേ കാര്യം ചെയ്യാൻ ഉദ്ദേശിക്കുന്ന രണ്ട് ലൈബ്രറികളുടെ സ്വഭാവത്തിൽ വ്യത്യാസങ്ങൾ തിരയുന്ന ഫസറുകളാണ് ഇവ. പൈത്തണിന്റെ "ഇഡ്‌ന" പാക്കേജിനെ സി "ലിബിഡ് 2" പാക്കേജുമായി താരതമ്യപ്പെടുത്തുന്നതിന് ആതറിസുമായി പാക്കേജുചെയ്‌ത ഫസറുകളിൽ ഒന്ന് ഇത് കൃത്യമായി ചെയ്യുന്നു.

പ്രത്യേകിച്ചും, ഡൊമെയ്ൻ യൂണിക്കോഡ് സീക്വൻസുകൾ ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ, "ഇഡ്ന", "ലിബിഡ് 2" എന്നിവ അന്താരാഷ്ട്രവൽക്കരിച്ച ഡൊമെയ്ൻ നാമം വ്യത്യസ്ത ഹോസ്റ്റുകളിലേക്ക് പരിവർത്തനം ചെയ്തു.

പൊതുവേ, “ശരിയായ” സ്വഭാവം എന്താണെന്ന് പ്രകടിപ്പിക്കുന്നതിനുള്ള ഒരു മാർഗ്ഗം ഉള്ളിടത്തോളം അല്ലെങ്കിൽ ഏതൊക്കെ സ്വഭാവങ്ങൾ തീർച്ചയായും ശരിയല്ലെന്ന് പ്രകടിപ്പിക്കുന്നിടത്തോളം കാലം ശുദ്ധമായ പൈത്തൺ കോഡിൽ ആതറിസ് ഉപയോഗപ്രദമാണ്. ഇത് ഒരു ലൈബ്രറിയുടെ output ട്ട്‌പുട്ടിന്റെ കൃത്യത വിലയിരുത്തുന്ന ഫസറിലെ ഇഷ്‌ടാനുസൃത കോഡ് പോലെ സങ്കീർണ്ണമോ അല്ലെങ്കിൽ അപ്രതീക്ഷിത ഒഴിവാക്കലുകളൊന്നും ഉയർത്തിയിട്ടില്ലെന്ന് പരിശോധിക്കുന്നതോ ആകാം.

അത് കണക്കിലെടുക്കേണ്ടത് പ്രധാനമാണ് അവ്യക്തമായ പരിശോധനകൾ‌ ഇൻ‌പുട്ട് ഡാറ്റയുടെ എല്ലാത്തരം ക്രമരഹിതമായ സംയോജനങ്ങളുടെയും ഒരു സ്ട്രീം സൃഷ്ടിക്കുന്നു, യഥാർത്ഥ ഡാറ്റയ്‌ക്ക് സമീപം (ഉദാഹരണത്തിന് ക്രമരഹിതമായ ടാഗ് പാരാമീറ്ററുകൾ‌ ഉള്ള HTML പേജുകൾ‌, അസാധാരണമായ തലക്കെട്ടുകളുള്ള ഫയലുകൾ‌ അല്ലെങ്കിൽ‌ ഇമേജുകൾ‌ മുതലായവ) കൂടാതെ പ്രക്രിയയിൽ‌ സാധ്യമായ തടസ്സങ്ങൾ‌ പരിഹരിക്കുക.

ഏതെങ്കിലും ശ്രേണി ഒരു അപവാദത്തിൽ കലാശിക്കുകയോ പ്രതീക്ഷിച്ച പ്രതികരണവുമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിലോ, ഈ സ്വഭാവം മിക്കവാറും ഒരു ബഗ് അല്ലെങ്കിൽ ദുർബലതയെ സൂചിപ്പിക്കുന്നു.

അവസാനമായി, സൂചിപ്പിച്ചതുപോലെ 2.7, 3.3+ പതിപ്പുകളിൽ പൈത്തൺ കോഡിനൊപ്പം ആതറിസ് പ്രവർത്തിക്കുന്നു, 3.8+ ഉം സിപൈത്തണിനായി എഴുതിയ നേറ്റീവ് എക്സ്റ്റൻഷനുകളും ഉപയോഗിക്കാൻ Google ശക്തമായി ശുപാർശ ചെയ്യുന്നുണ്ടെങ്കിലും.

പിന്തുണയ്‌ക്കുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ വിൻഡോസ് ഇതുവരെ ഇല്ലഅതിനാൽ, എഞ്ചിൻ ഇപ്പോൾ ലിനക്സ്, മാക് ഒഎസ് എക്സ് ഉപയോക്താക്കൾക്ക് താൽപ്പര്യമുള്ളതാണ്.

ഈ പ്ലാറ്റ്ഫോമുകളിൽ ഇത് ഉപയോഗിക്കുന്നതിന്, ഡവലപ്പർമാർക്ക് ക്ലാംഗ് കംപൈലർ ഫ്രണ്ട് എന്റിന്റെ നിലവിലെ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം.

നിങ്ങൾക്ക് ഇതിനെക്കുറിച്ച് കൂടുതൽ അറിയണമെങ്കിൽ, നിങ്ങൾക്ക് യഥാർത്ഥ കുറിപ്പ് പരിശോധിക്കാം ഇനിപ്പറയുന്ന ലിങ്ക്.


ലേഖനത്തിന്റെ ഉള്ളടക്കം ഞങ്ങളുടെ തത്ത്വങ്ങൾ പാലിക്കുന്നു എഡിറ്റോറിയൽ എത്തിക്സ്. ഒരു പിശക് റിപ്പോർട്ടുചെയ്യാൻ ക്ലിക്കുചെയ്യുക ഇവിടെ.

അഭിപ്രായമിടുന്ന ആദ്യയാളാകൂ

നിങ്ങളുടെ അഭിപ്രായം ഇടുക

നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിച്ചു ചെയ്യില്ല.

*

*

  1. ഡാറ്റയുടെ ഉത്തരവാദിത്തം: മിഗുവൽ ഏഞ്ചൽ ഗാറ്റൻ
  2. ഡാറ്റയുടെ ഉദ്ദേശ്യം: സ്പാം നിയന്ത്രിക്കുക, അഭിപ്രായ മാനേജുമെന്റ്.
  3. നിയമസാധുത: നിങ്ങളുടെ സമ്മതം
  4. ഡാറ്റയുടെ ആശയവിനിമയം: നിയമപരമായ ബാധ്യതയല്ലാതെ ഡാറ്റ മൂന്നാം കക്ഷികളുമായി ആശയവിനിമയം നടത്തുകയില്ല.
  5. ഡാറ്റ സംഭരണം: ഒസെന്റസ് നെറ്റ്‌വർക്കുകൾ (ഇയു) ഹോസ്റ്റുചെയ്യുന്ന ഡാറ്റാബേസ്
  6. അവകാശങ്ങൾ: ഏത് സമയത്തും നിങ്ങളുടെ വിവരങ്ങൾ പരിമിതപ്പെടുത്താനും വീണ്ടെടുക്കാനും ഇല്ലാതാക്കാനും കഴിയും.