В коде зарыты ошибки — новая нейросеть вытащит их мгновенно

2:16

Можно ли доверить поиски уязвимостей не специалистам по безопасности, а… нейросети? Оказывается, да — и она справляется с этой задачей быстрее и точнее, чем привычные инструменты.

Исследователи из России и Казахстана вместе с Центром практического ИИ Сбербанка разработали новый метод анализа программного кода. Их решение на базе большой языковой модели оказалось на удивление эффективным: в ряде тестов ИИ опередил стандартные статические анализаторы как по скорости, так и по точности.

"Работа вносит весомый вклад в развитие технологий на стыке искусственного интеллекта и кибербезопасности, предлагая эффективный инструмент для поиска уязвимостей цифровой инфраструктуры", — отметил директор Центра практического ИИ Сбербанка Глеб Гусев.

Что не так со статическими анализаторами

Сегодня для проверки программного обеспечения на уязвимости используют статические анализаторы. Эти алгоритмы "читают" код построчно, сверяя его с правилами языка программирования. Такой подход надёжен, но требует времени и немалых вычислительных ресурсов. Неудивительно, что учёные ищут более быстрые альтернативы.

Как работает ИИ-решение

В основе нового метода лежит дообученная модель WizardCoder. Учёные тщательно отобрали примеры кода, содержащие реальные уязвимости, и оптимизировали процесс обучения так, чтобы он стал в 13 раз быстрее. Благодаря этому ИИ начал гораздо лучше распознавать потенциальные ошибки в коде.

Для финальной проверки разработчики подготовили два набора кода на языке Java — от простого к сложному. Результаты впечатлили:

  • На простом уровне ИИ показал точность выше на 4-5%.
  • На сложных примерах — на 22%.

Что это значит для кибербезопасности

Создание таких ИИ-инструментов — серьёзный шаг вперёд. Это не просто эксперимент, а реальный потенциал для замены или дополнения медленных традиционных анализаторов. А значит — более быстрая и точная защита цифровых систем от взлома.

Уточнения

Иску́сственный интелле́кт или ИИ (англ. artificial intelligence; AI) в самом широком смысле — это интеллект, демонстрируемый машинами, в частности компьютерными системами.