Компания Google выявила 26 новых уязвимостей в проектах с открытым исходным кодом, включая баг в OpenSSL, который оставался незамеченным в течение 20 лет.
Этот баг, названный CVE-2024-9143, связан с «выходом за границы памяти» и может вызывать сбои программ и, в редких случаях, запускать вредоносный код.
Для поиска уязвимостей Google применила метод фаззинг-тестирования, загружая случайные данные в код, чтобы выявить возможные сбои.
Используя возможности больших языковых моделей (LLM), компания смогла генерировать больше целей для тестирования. Исследователи отметили, что LLM эффективно имитируют процесс работы разработчика, включая написание, тестирование и сортировку обнаруженных сбоев.
В результате тестирования 272 программных проектов были найдены 26 уязвимостей, включая старый баг в OpenSSL. Причина, по которой ошибка оставалась незамеченной так долго, заключается в сложности тестирования отдельных сценариев кода и в том, что этот код считался тщательно протестированным.
Специалисты пояснили, что тесты не могут покрыть все возможные пути выполнения программы, и различные настройки могут активировать новое поведение, выявляя уязвимости.