OpenAI рассказала о результатах эксперимента по автоматическому поиску и эксплуатации уязвимостей в ядре Linux. Система ИИ-агентов смогла воспроизвести 1724 уязвимости и разработать рабочие эксплойты для 948 уникальных ошибок, позволяющих локальному пользователю повысить привилегии до root. На весь эксперимент потратили около $1,2 млн в виде затрат на API.
Исследование проводилось в середине октября 2026 года на актуальной на тот момент версии ядра Linux.
Как искали уязвимости
OpenAI разработала систему из нескольких типов ИИ-агентов. Одни выбирали участки кода, потенциально доступные непривилегированным пользователям, другие искали в них ошибки безопасности, проверяли возможность эксплуатации и генерировали исправления.
На первом этапе система отобрала 5034 участка для анализа — около 2,8 млн строк кода, или примерно 7% всего ядра Linux.
За следующие 12 часов агенты обнаружили 2308 потенциальных уязвимостей. Но найти подозрительный код — ещё не значит подтвердить наличие ошибки. Поэтому для каждой находки система пыталась создать программу, воспроизводящую проблему, и запустить её в изолированной виртуальной машине с включённым KASAN — инструментом для обнаружения ошибок работы с памятью в ядре.
Таким образом удалось подтвердить 1724 уязвимости, или 74,7% первоначальных находок.
948 уязвимостей с возможностью получить root
Дальше агенты проверяли, какие из обнаруженных ошибок можно использовать для утечки информации или локального повышения привилегий.
В результате система подготовила 291 рабочий пример эксплуатации утечек информации и 1169 эксплойтов, позволяющих получить root-доступ.
При этом 1169 эксплойтов не означают столько же отдельных уязвимостей: некоторые из них использовали разные варианты эксплуатации одной ошибки. После анализа результатов исследователи выделили 948 уникальных уязвимостей локального повышения привилегий и подготовили для них отдельные исправления.
Эксплойты проверяли на обычной настольной конфигурации Linux, а не на специально ослабленной системе. В виртуальных машинах были включены стандартные механизмы защиты ядра, включая SMEP, SMAP, KASLR и HARDENED_USERCOPY.
Отдельный эксперимент провели в адаптированной среде Google kernelCTF, предназначенной для проверки уязвимостей ядра. Там агенты получили 21 рабочий эксплойт для повышения привилегий и 25 примеров утечки информации. Правда, конфигурацию пришлось немного изменить: механизм защиты SLAB_VIRTUAL отключили из-за несовместимости с исследуемой версией ядра. О принятии этих находок программой kernelCTF пока не сообщается.
Агенты обнаружили новые способы эксплуатации
Ещё один результат — как минимум 10 ранее неизвестных техник эксплуатации уязвимостей Linux.
Исследователи изучили выборку из 166 эксплойтов, созданных агентами, и обнаружили среди них новые способы размещения объектов в памяти ядра, подготовки страниц памяти и повышения привилегий через изменение данных.
По словам OpenAI, эти техники также оказались неизвестны сторонним специалистам по эксплуатации уязвимостей ядра, которым показали результаты. Подробности новых методов компания решила не публиковать.
При этом автоматизация не обошлась без ошибок. Во время одного из ранних запусков агенты сообщили о 200 успешных эксплойтах, но ручная проверка показала, что в 20 случаях root-доступ был получен через другую уязвимость, а не через ту, которую требовалось проверить.
После этого разработчики добавили отдельную проверку, подтверждающую, что эксплойт действительно использует нужную ошибку.
Сколько это стоило и что с исправлениями
Полный запуск системы обошёлся OpenAI в $1 213 430 затрат на API. В пересчёте на 948 уникальных уязвимостей локального повышения привилегий получилось около $1279 за одну находку с работающим эксплойтом.
Большая часть расходов пришлась на разработку и проверку эксплойтов — примерно $776 тысяч. Ещё около $317 тысяч потратили на первоначальный анализ кода.
Это стоимость вызовов моделей в рамках эксперимента, а не полная оценка всех расходов на исследование.
Помимо эксплойтов, система генерировала патчи. Перед отправкой разработчикам ядра результаты проверяли специалисты OpenAI: оценивали причину ошибки, возможность эксплуатации и предложенное исправление.
По данным компании, несколько сотен сообщений о критических уязвимостях и соответствующих патчей уже отправлены разработчикам Linux. Остальные планируется передавать постепенно, в том числе совместно с участниками инициативы Patch the Planet.
Таким образом, 948 подготовленных исправлений пока нельзя считать 948 патчами, принятыми в ядро.
Главный результат эксперимента — возможность автоматизировать не только поиск подозрительного кода, но и проверку уязвимостей с созданием рабочих эксплойтов. При таком масштабе обнаружения ошибок всё большую роль будут играть проверка результатов и скорость подготовки исправлений: разработчикам ядра предстоит разбирать находки, подтверждать их актуальность и оценивать качество предложенных патчей.

О том, какие инструменты помогают находить уязвимости ещё в процессе разработки и как встроить их в CI/CD, расскажет практикующий эксперт Максим Чащин на бесплатном открытом уроке Otus 16 ноября в 20:00. Присоединяйтесь
Больше бесплатных вебинаров по разработке, информационной безопасности и не только смотрите в календаре.
ссылка на оригинал статьи https://habr.com/ru/articles/1103806/