Атхерис, приручник за тестирање Питхон кода

Гоогле представио недавно пуштање Атхерис пројекат, што је развој скуп алата отвореног кода специјализовани за фуззинг тестове Питхон кода и проширења за ЦПитхон написана на Ц / Ц ++.

Пројекат користи мотор заснован на либФуззер а може се користити заједно са алатима за дезинфекцију адреса и недефинисаног понашања за откривање додатних грешака. Код је отворен под лиценцом Апацхе 2.0.

О Гоогле Атхерис-у

По речима Гоогле Атхериса, то је сет алата који се може користити за аутоматско проналажење грешака у Питхон коду и изворним екстензијама. Атхерис је фуззер који „покреће покривеност“, што значи да ће Атхерис у више наврата покушати различите улазе у ваш програм док га гледа и покренут ће покушати да пронађе занимљиве путање.

Преглед кода је подржан за Питхон 2.7 и Питхон 3.3+, али за потпуну вођену покривеност, препоручује се употреба Питхон 3.8 и 3.9 грана, које сада подржавају опцоде статистике по опцоде-у.

У процесу, Атхерис наводи могуће комбинације улазних података и генерише извештај на свим откривеним грешкама и неоткривеним изузецима.

На пример, приликом провере ИАМЛ библиотеке за рашчлањивање у Атхерису утврђено је да неке ИАМЛ конструкције, као што је навођење "-_" уместо целобројне вредности или употреба листе уместо кључа, бацају неочекивани изузетак уместо Стандардна грешка ИАМЛЕррорс.

Тест фузз је добро позната техника за откривање програмских грешака. Многе од ових грешака које се могу открити имају озбиљне сигурносне импликације. Гоогле је пронашао хиљаде сигурносних рањивости и других грешака када користи ову технику. Фуззинг се традиционално користи на матерњим језицима као што су Ц или Ц ++, али прошле године створили смо нови Питхон фуззинг енгине. Данас смо издали Атхерис фуззинг мотор као отворени извор.

Атхерис може се користити и за утврђивање разлика у понашању библиотека које циљају идентичне задатке. На пример, сумарна провера Питхон пакета „идна“ и библиотеке „либидн2“, који извршавају задатак декодирања интернационализованих имена домена, утврдила је да они не дају увек исти резултат.

Једна од најбољих примена Атхериса је за диференцијалне дифузоре. То су фуззери који траже разлике у понашању две библиотеке којима је суђено да раде исто. Један од примера фуззера у пакету са Атхерисом ради управо ово да би упоредио Питхонов пакет „идна“ са пакетом Ц „либидн2“.

Конкретно, ако је домен користио Уницоде секвенце, тада су „идна“ и „либидн2“ претворили интернационализовано име домена у различите хостове.

Генерално, Атхерис је користан у чистом Питхон коду све док има начин да изрази шта је „исправно“ понашање или бар изрази која понашања дефинитивно нису тачна. Ово може бити једнако сложено као прилагођени код у фуззеру који процењује тачност излаза библиотеке или једноставно као провера да се не постављају неочекивани изузеци.

Важно је узети у обзир да фуззинг тестови генеришу ток свих врста случајних комбинација улазних података, близу стварних података (на пример хтмл странице са случајним параметрима ознака, датотеке или слике са абнормалним заглављима итд.) и решите могуће грешке у процесу.

Ако било која секвенца резултира изузећем или се не подудара са очекиваним одговором, ово понашање највероватније указује на грешку или рањивост.

Коначно, као што је поменуто Атхерис ради са Питхон кодом у верзијама 2.7 и 3.3+, иако Гоогле топло препоручује употребу 3.8+ и изворне екстензије написане за ЦПитхон.

Виндовс још увек није међу подржаним оперативним системима, тако да је мотор за сада занимљив само корисницима Линука и Мац ОС Кс-а.

Да би га користили на овим платформама, програмери морају да имају инсталирану тренутну верзију интерфејса компајлера Цланг.

Ако желите да сазнате више о томе, можете проверити оригиналну напомену у следећи линк.


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.