Почти половина кода, написанного ИИ, содержит критические уязвимости

|
Почти половина кода, написанного ИИ, содержит критические уязвимости

Последнее исследование компании Veracode показало, что около 45% программного кода, созданного с помощью искусственного интеллекта, имеет существенные уязвимости. Для анализа было использовано более 1600 образцов кода, сгенерированных моделями GPT-4, GPT-3.5 и Codex от OpenAI. Эти модели получили 12 различных задач, а результаты показали многочисленные ошибки авторизации, недостаточную валидацию ввода, SQL-инъекции и другие потенциальные угрозы.

Об этом сообщает ProIT

Java лидирует по количеству уязвимостей

Больше всего проблем было зафиксировано в коде на языке Java: 80% образцов содержали уязвимости. Для сравнения, в JavaScript и Python этот показатель был вдвое меньше — на уровне 30–40%. Эксперты отметили, что качество кода можно значительно улучшить, если во время генерации четко указывать ИИ на необходимость учета безопасности.

Рекомендации по повышению безопасности кода от ИИ

В Veracode подчеркнули, что искусственный интеллект создает код, который выглядит правильно, но часто не соответствует требованиям безопасности. Кодерам советуют не полагаться полностью на ИИ, а дополнительно проверять результаты с использованием специализированных инструментов и вручную. Компания рекомендует запускать статический анализ кода сразу после его создания, использовать инструменты вроде Veracode, применять анализаторы открытого кода и устанавливать «фаервол для пакетов», который блокирует известные угрозы еще до их внедрения.

«ИИ стремится создать код, который выглядит правильным, но не всегда учитывает безопасность. Кроме прямой указки на необходимость учета качества, кодерам советуют проверять результат средствами поиска уязвимостей и вручную».

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