AI-модель Claude Opus 4.6 выявила более 500 ранее неизвестных уязвимостей

Компания Anthropic объявила о расширении в AI-модели Claude Opus 4.6 возможностей по поиску уязвимостей в коде и поделилась результатами эксперимента, в ходе которого выявлено более 500 ранее неизвестных (0-day) уязвимостей в последних версиях различных открытых проектов. Работа была сфокусирована на поиске уязвимостей, вызванных проблемами при работе с памятью, так как их наличие проще проверить. Всем выявленным уязвимостям присвоен высокий уровень опасности. Каждая уязвимость была вручную проверена и подтверждена сотрудниками Anthropic или привлечёнными внешними исследователями безопасности.

Для анализа уязвимостей в Claude Opus 4.6 были привлечены кодовые базы популярных открытых проектов, уже длительное время проходящие непрерывное fuzzing-тестирование в сервисе OSS-Fuzz. В отличие от fuzzing-тестирования, при котором генерируется поток всевозможных случайных комбинаций входных данных, AI-модель пытается анализировать код, учитывая прошлые исправления для выявления похожих неустранённых ошибок, выделяя проблемные шаблоны и логически выводя, какие входные данные могут нарушить ход выполнения.

Информация о выявленных в ходе эксперимента уязвимостях уже начала передаваться сопровождающим, с которыми ведётся совместная работа по принятию исправлений. Чтобы помочь сопровождающим в ходе проведённой проверки вручную были разработаны патчи для исправления выявленных проблем. Некоторые проекты уже приняли исправления. В качестве примера приведены три уязвимости в GhostScript, OpenSC и CGIF, которые на момент публикации устранены сопровождающими.

Используемая для выявления проблем конфигурация не была похожа на традиционные системы автоматического поиска уязвимостей — модели Claude Opus 4.6 был предоставлен доступ к виртуальной машине, в которой помимо исследуемого кода были установлены типовые инструменты разработчиков (coreutils, Python и т.п.) и утилиты для отладки и анализа уязвимостей (в том числе утилиты для fuzzing-тестирования). Модели не давалась чёткая инструкция по использованию данных инструментов и не предоставлялась отдельные сведения о методах поиска уязвимостей. Модели была лишь поставлена задача и предоставлена возможность самостоятельно рассуждать об оптимальном использовании доступных инструментов.

Например, при поиске уязвимостей в GhostScript AI-модель вначале попыталась провести fuzzing-тестирование, но когда это не привело к результату переключилась к анализу кода. Анализ кода тоже не дал результата и тогда модель начала изучать историю изменений в git и в одном из коммитов заметила упоминание проверки границ буфера. Разобрав коммит модель определила, что исправление добавляло недостающую проверку границ буфера при обработке шрифтов.

Далее модель определила код, который был до исправления и попыталась найти в остальном коде похожие шаблоны использования проблемной функции, остающиеся неисправленными. В итоге в файле gdevpsfx.c был выявлен вызов функции gs_type1_blend без проверки корректности значений. В финале модель подобрала содержимое файла, обработка которого приводила к аварийному завершению из-за записи данных в область памяти вне выделенного буфера.

При поиске уязвимости в OpenSC и CGIF была использована похожая логика: В OpenSC проблема была выявлена после анализа использования в коде потенциально опасных функций strrchr и strcat. В CGIF AI-модель отталкивалась от того, что при распаковке GIF-файлов библиотека рассматривала, что размер сжатых данных всегда меньше распакованных. Поиск уязвимости был сосредоточен на выявлении условий, при которых сжатые алгоритмом LZW данные окажутся больше распакованных. Подобные условия были найдены и AI-модель смогла сформировать GIT-файл, обработка которого приводит к переполнению буфера.

Отмечается, что языковые модели достигли уровня, позволяющего выявлять ранее неизвестные уязвимости, и в ближайшее время превзойдут экспертов по безопасности по скорости и масштабу поиска уязвимостей.
Предполагается, что рост числа выявляемых уязвимостей потребует реформирования сложившихся процессов раскрытия информации, так как ныне выделяемых на исправление 90-дней будет недостаточно.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64760