Исследование показало, что свыше 50% программных исправлений, созданных с помощью больших языковых моделей, оказываются неработоспособными или содержат критические уязвимости. Несмотря на способность ИИ ускорять написание кода, автоматизированная генерация патчей для безопасности требует тщательной проверки, так как текущие модели часто игнорируют контекст проекта и специфические зависимости, что создает риски для стабильности систем.
Аналитики протестировали ряд популярных LLM на предмет их способности исправлять известные уязвимости в открытом программном обеспечении. Выяснилось, что модели склонны предлагать решения, которые либо не компилируются, либо нарушают логику работы приложения. В ряде случаев предложенный код даже создавал новые векторы атак, вместо того чтобы закрывать существующие дыры в защите.
Проблема заключается в том, что модели обучаются на огромных массивах данных, включая некачественный или устаревший код, что приводит к галлюцинациям при попытке исправить сложные архитектурные ошибки. Разработчикам рекомендуется использовать ИИ-инструменты исключительно как вспомогательные средства, требующие обязательного прохождения через автоматизированные тесты и ручной аудит перед интеграцией в основную кодовую базу.
Ключевые факты
- Более 50% патчей, сгенерированных ИИ, признаны нерабочими или небезопасными.
- Основные ошибки включают проблемы с компиляцией, логические сбои и создание новых уязвимостей.
- Исследование подчеркивает критическую необходимость человеческого контроля при использовании ИИ в процессах обеспечения безопасности ПО.
- Автоматизированные системы генерации кода часто не учитывают специфические зависимости и контекст конкретного проекта.