ИИ нашёл сотни путей к root в Linux. Что означают цифры OpenAI для владельца сервера

OpenAI описала исследование ядра Linux, в котором автоматический конвейер разобрал 2308 предполагаемых проблем, воспроизвёл 1724 из них и получил 948 разных сценариев локального повышения привилегий. Это крупный результат по заявлению самой компании. Он не означает, что 948 исправлений уже попали в вашу систему, и не говорит, что любой удалённый посетитель сайта может сразу стать root.

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

Что именно проверяли

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

В середине октября конвейер выдал 2308 кандидатов. Динамическое воспроизведение удалось для 1724, а 948 уникальных локальных ошибок были подтверждены работающими сценариями повышения привилегий в выбранной среде. В отчёте говорится о проектах исправлений для рассмотрения сопровождающими. Подтверждённое в исследовательской машине воспроизведение и установленное на конкретном сервере исправление — разные состояния.

«Локальное повышение привилегий» предполагает, что атакующий уже получил возможность выполнять код с ограниченными правами. Это может быть скомпрометированный пользовательский процесс, контейнер или другая точка входа. Само число 948 не описывает вероятность взлома произвольного сайта через интернет.

Вывод 1: обновления нужно проверять по фактической версии

OpenAI заметила, что пока шло исследование, часть найденного уже исправлялась: 61 ошибка получила патч в основной ветке, 43 имели подготовленные исправления, ещё 299 обсуждались или проходили через отчётность. Поэтому список находок быстро стареет. Документация сопровождающих прямо просит проверять уязвимости на свежих версиях ядра, чтобы не отправлять сообщения об уже исправленных ошибках.

Для владельца сервера первый шаг — узнать установленную версию ядра и фактически загруженную версию после последней перезагрузки. Затем проверить бюллетени своего дистрибутива и доступные обновления. Номер версии сам по себе не всегда показывает наличие исправления: поставщики могут переносить патчи в поддерживаемую ветку без смены на последнее основное ядро. Не стоит менять ядро вручную только потому, что в исследовании названа большая цифра.

Вывод 2: ограниченные права всё ещё имеют значение

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

Исследование OpenAI отдельно подчёркивает значение изоляции и слоёв защиты. Но оно не доказывает, что какая-либо конкретная конфигурация контейнера выдержит все 948 найденных сценариев. Для такой гарантии нужны испытания именно своей системы.

Вывод 3: отчёты ИИ нельзя отправлять без проверки

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

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

Что в итоге делать сегодня

Если вы поддерживаете Linux-серверы, инвентаризируйте реальные версии ядра, проверьте бюллетени дистрибутива и план перезагрузок, затем посмотрите, какие сервисы имеют лишние привилегии. Если вы разрабатываете инструмент автоматического аудита, отделяйте предположение модели от воспроизведения и подтверждённого эффекта патча. Не называйте исследовательский патч установленным исправлением до его принятия и доставки.

Исследование опубликовано OpenAI 4 ноября; запуск конвейера проходил в октябре. Обсуждать его как сегодняшнее раскрытие всех 948 ошибок было бы неверно: раскрытие и исправление идут по отдельному процессу. В «Сигнал найден» мы отмечаем именно такие различия между эффектным числом и тем, что уже можно проверить на своей системе.