Можно ли доверить поиски уязвимостей не специалистам по безопасности, а… нейросети? Оказывается, да — и она справляется с этой задачей быстрее и точнее, чем привычные инструменты.
Исследователи из России и Казахстана вместе с Центром практического ИИ Сбербанка разработали новый метод анализа программного кода. Их решение на базе большой языковой модели оказалось на удивление эффективным: в ряде тестов ИИ опередил стандартные статические анализаторы как по скорости, так и по точности.
"Работа вносит весомый вклад в развитие технологий на стыке искусственного интеллекта и кибербезопасности, предлагая эффективный инструмент для поиска уязвимостей цифровой инфраструктуры", — отметил директор Центра практического ИИ Сбербанка Глеб Гусев.
Сегодня для проверки программного обеспечения на уязвимости используют статические анализаторы. Эти алгоритмы "читают" код построчно, сверяя его с правилами языка программирования. Такой подход надёжен, но требует времени и немалых вычислительных ресурсов. Неудивительно, что учёные ищут более быстрые альтернативы.
В основе нового метода лежит дообученная модель WizardCoder. Учёные тщательно отобрали примеры кода, содержащие реальные уязвимости, и оптимизировали процесс обучения так, чтобы он стал в 13 раз быстрее. Благодаря этому ИИ начал гораздо лучше распознавать потенциальные ошибки в коде.
Для финальной проверки разработчики подготовили два набора кода на языке Java — от простого к сложному. Результаты впечатлили:
Создание таких ИИ-инструментов — серьёзный шаг вперёд. Это не просто эксперимент, а реальный потенциал для замены или дополнения медленных традиционных анализаторов. А значит — более быстрая и точная защита цифровых систем от взлома.
Уточнения
Иску́сственный интелле́кт или ИИ (англ. artificial intelligence; AI) в самом широком смысле — это интеллект, демонстрируемый машинами, в частности компьютерными системами.