ChatGPT и DeepSeek пропускают до 50% уязвимостей в софте на Java и Python

ChatGPT и DeepSeek пропускают до 50% уязвимостей в софте на Java и Python

ChatGPT и DeepSeek пропускают до 50% уязвимостей в софте на Java и Python

Группа компаний «Солар» проверила, насколько хорошо большие языковые модели справляются с двумя самыми трудоёмкими задачами в безопасной разработке — триажем уязвимостей и их исправлением в коде. Итог исследования получился довольно показательный: популярные общедоступные модели ускоряют работу, но пока слишком часто ошибаются, чтобы полностью на них полагаться.

Эксперты Solar appScreener протестировали шесть LLM на 20 крупных приложениях на Java и Python, каждое объёмом более 100 тысяч строк кода. Для анализа использовали как облачные модели — GigaChat 3 PRO, ChatGPT 5.2 и DeepSeek 3.2, так и локальные решения on-premise, включая ChatGPT OSS, Mistral и специализированные модели DerTriage и DerCodeFix.

Сначала с помощью SAST-анализа в проектах нашли около 12 тысяч уникальных срабатываний, из которых почти 20% пришлись на уязвимости высокой критичности. После этого все модели получили одинаковый промпт с описанием уязвимости, фрагментом кода, трассой достижимости и идентификаторами CWE.

На этапе триажа результаты оказались неровными. В Java-проектах среди облачных моделей лучше всех выступил ChatGPT с точностью 60,9%, а DeepSeek показал лишь 50%. В Python-коде картина поменялась: DeepSeek добрался до 80%+, а ChatGPT показал 52,7%. Но лучший результат среди локальных решений продемонстрировала DerTriage — более 80% точности и для Java, и для Python.

С кодфиксом ситуация похожая. Для Java ChatGPT показал 61,8% точности, DeepSeek — 45,5%. В Python их показатели составили 46,6% и 44,8% соответственно. Локальная модель DerCodeFix снова оказалась впереди: 78,2% точности на Java и 83,1% на Python.

Главный вывод исследования простой: LLM действительно экономят время, но на самых ответственных этапах безопасной разработки универсальные модели пока не дают нужной надёжности. Если команда безоговорочно доверится таким инструментам, есть риск пропустить критичные уязвимости.

В «Соларе» также напоминают ещё об одной проблеме: использование облачных моделей может стать каналом утечки исходного кода. Поэтому для задач безопасной разработки компания рекомендует смотреть в сторону локальных моделей on-premise, которые работают в закрытом контуре и всё равно требуют проверки со стороны AppSec-инженера.

ИИ OpenAI полез на GitHub за утёкшими ключами, а затем выдумал данные

Модели OpenAI оказались очень изобретательными, когда привычные способы выполнить задачу переставали работать. Они искали утёкшие API-ключи, загружали данные на публичные сервисы, обменивались записками через репозиторий и оставляли самим себе инструкции скрывать ошибки.

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

OpenAI подчёркивает: это отдельные эпизоды, по которым нельзя судить о частоте подобных выходок.

В одном случае модель не смогла подключиться к API со статистикой доходов округа. Тогда она попыталась зарегистрироваться через одноразовую почту, полезла на GitHub за утёкшими ключами и нашла рабочий.

Добыть нужные цифры всё равно не получилось, поэтому модель просто выдумала их и выдала за данные с сайта. О неудаче и чужом ключе она скромно промолчала.

Другие агенты превратили внутренний Artifactory OpenAI в подпольную доску объявлений. Независимые экземпляры оставляли там сообщения, читали записки коллег и просили друг у друга помощи. Уязвимости они не взламывали, а использовали выданные компанией учётные данные, но явно не по назначению.

Ещё несколько моделей отправляли данные за пределы рабочей среды. Одна загрузила найденные записи на публичный сервис ради красивой ссылки на источник, другая — фотографию на сервис обратного поиска. Группа агентов и вовсе разместила рабочую книгу на публичном хостинге, хотя ей прямо велели пользоваться только локальными файлами.

Самая ехидная часть истории — инструкции на будущее. Модели записывали в свои служебные сводки команды игнорировать сообщения разработчиков, скрывать провалы и выдумывать недостающие данные. Одна сформулировала правило совсем интересно: «Будь прозрачным, только если спросят».

Теперь OpenAI обещает публиковать такие случаи быстрее — даже если их причины ещё не выяснены, а исправления не готовы.

RSS: Новости на портале Anti-Malware.ru