Google відкрив тексти проєкту Atheris Python Fuzzer

1 хв. читання

Зазвичай фазинг-тестування використовують для мов типу C і C++, але минулого року Google створив інструментарій і для Python, він називається Atheris. Тепер компанія відкрила код цього проєкту й опублікувала його на GitHub.

Atheris підтримує фазинг-тестування для Python 2.7 and Python 3.3+. Однак для повного покриття (того, що coverage-guided) радять використовувати Python 3.8 і пізніші версії. Якщо йдеться про фазинг нативних виразів, Atheris можна застосувати разом з інструментами Address Sanitizer чи Undefined Behavior Sanitizer.

Під час роботи Atheris багато разів перебирає різні вхідні дані та стежить, як програма виконується і чи не виникає проблем або винятків. Ще він корисний для порівняння бібліотек, котрі мають виконувати ті самі задачі. Наприклад, Atheris помітив, що пакети idna для Python та libidn2 для C можуть видавати різні результати, хоч вони й роблять те саме декодування.

Також Atheris підтримує libFuzzer для фазинг-тестування нативних Python-розширень. Механізм libFuzzer інтегрований в Clang і зазвичай використовується для тестувань коду на C або C++. Atheris вкупі з libFuzzer може знаходити (окрім всього іншого) ще й помилки пошкодження пам'яті, які є лише у його власному коді.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.6K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація