+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Google представила ClusterFuzzLite для fuzzing-тестування коду та раннього виявлення потенційних вразливостей

Google представив ClusterFuzzLite для тестування коду fuzz і раннього виявлення потенційних вразливостей

Компанія Google представила ClusterFuzzLite, що дозволяє організувати нечітке тестування коду для раннього виявлення потенційних вразливостей на етапі роботи систем безперервної інтеграції. В даний час ClusterFuzz можна використовувати для автоматизації нечіткого тестування запитів на витягування в GitHub Actions, Google Cloud Build і Prow, але в майбутньому очікується підтримка інших систем CI. Проект базується на платформі ClusterFuzz, створеній для координації роботи кластерів нечіткого тестування, і розповсюджується під ліцензією Apache 2.0.

Зазначається, що після впровадження сервісу OSS-Fuzz компанією Google в 2016 році в програму безперервного нечіткого тестування було прийнято понад 500 важливих проектів з відкритим кодом. За результатами перевірок було усунуто понад 6500 підтверджених вразливостей та виправлено понад 21 тисячу помилок. ClusterFuzzLite продовжує розробку механізмів тестування нечіткості з можливістю виявлення проблем раніше на етапі розгляду запропонованих змін. ClusterFuzzLite вже був впроваджений в процеси перегляду змін в системних і завиткових проектах, і дозволив виявити помилки, пропущені статичними аналізаторами і лінтерами, використовуваними на початковому етапі перевірки нового коду.

ClusterFuzzLite підтримує перевірку проектів на C, C++, Java (та інших мовах на основі JVM), Go, Python, Rust та Swift. Тестування фузингу проводиться за допомогою двигуна LibFuzzer. Для виявлення помилок і аномалій пам'яті також можна викликати інструменти AddressSansanitizer, MemorySanitizer  і UBSan (НевизначенийBehaviorSanitizer).  

Ключові особливості ClusterFuzzLite: швидка перевірка запропонованих змін для пошуку помилок на етапі перед прийняттям коду; завантажувати звіти про умови відмови; Можливість переходу до більш просунутого тестування нечіткості для виявлення більш глибоких багів, які не спливли після перевірки зміни коду; формування coverage-звітів для оцінки охоплення коду під час тестування; модульна архітектура, що дозволяє підібрати необхідний функціонал.

Нагадаємо, що нечітке тестування генерує потік всіляких випадкових комбінацій вхідних даних, близьких до реальних даних (наприклад, html-сторінки з випадковими параметрами тегів, архіви або зображення з аномальними заголовками і т.д.), і фіксує можливі збої в процесі їх обробки. Якщо послідовність призводить до збою або не відповідає очікуваному відгуку, то така поведінка, швидше за все, вкаже на помилку або вразливість.

Інші новини

Найкраща ціна