Ученые научили ИИ находить уязвимости в коде быстрее традиционных методов

Ученые научили ИИ находить уязвимости в коде бы...

freepik

Внедрение искусственного интеллекта стало новым этапом в оперативном и безошибочном обнаружении слабых мест в программном обеспечении.

Обычно, для проверки безопасности программного кода применяются статические анализаторы. Эти алгоритмы анализируют код на соответствие заданным правилам, учитывая особенности синтаксиса и логики языков программирования. Однако эти методы требуют больших затрат времени и вычислительных мощностей.

Новый подход использует большие языковые модели, первоначально разработанные для создания и интерпретации программного кода. Ученые выбрали нейросеть WizardCoder, которая прошла обучение на огромном количестве текстов, и затем адаптировали её для поиска уязвимостей. Особое внимание при дообучении уделили качеству входных данных: использовались только примеры с подтвержденными уязвимостями.

Для повышения производительности был оптимизирован процесс обучения — в каждом шаге использовалось строго определенное количество примеров. Это позволило ускорить дообучение почти в 13 раз. В результате была создана система, которая не только работает быстрее, но и показывает более высокую точность по сравнению с другими существующими ИИ-решениями.

Разработчики протестировали модель на специально разработанном наборе кода на Java. В этих тестах все уязвимости были предварительно определены вручную, что позволило объективно оценить точность алгоритма. На базовом уровне сложности система продемонстрировала увеличение точности на 4–5%, а на сложных задачах — до 22%.

Исследование подтвердило перспективность языковых моделей как мощного инструмента в области кибербезопасности. Использование таких систем может существенно ускорить и упростить процесс проверки цифровых продуктов на наличие слабых мест.

Обратите внимание: Вода подорожает вдвое: жителей России предупредили о неприятных переменах

Пишет ТАСС