ИБ-стартап Calif вместе с OpenAI провели эксперимент, в рамках которого ИИ-агент Codex самостоятельно достиг root-доступа (uid=0) на Samsung Smart TV. Codex обнаружил уязвимость в драйвере от тайваньской компании Novatek, создал рабочий эксплойт и подтвердил успешную эксплуатацию коротким сообщением Worked. Все детали и PoC опубликованы на GitHub.
Исследователи изначально предоставили агенту первичный доступ — возможность выполнить код в браузерном приложении, а также исходники прошивки Samsung KantS2 (выпущенной в феврале 2020, основанной на Linux 4.1.10), инструменты для сборки ARM-бинарников и обертку для обхода системы Samsung UEP, которая блокирует запуск неподписанных программ. Задача Codex заключалась в поиске уязвимости и повышении прав до root через драйвер или известные CVE.
ИИ-агент просканировал устройство и заметил, что драйвер Novatek имеет device-ноды с правами 0666, что позволяло произвольный доступ к физической памяти. В драйвере ntksys он обнаружил ошибку: физические адреса, передаваемые от пользовательских процессов, сохранялись в таблице и отображались через mmap без проверки их принадлежности ядру. Это создало примитив для произвольного доступа к памяти.
Codex самостоятельно разработал цепочку эксплойта. Сначала он через соседний драйвер получил адрес DMA-буфера, подтвердив возможность чтения и записи в физическую память с обычного пользователя. Затем, выбрав стратегию модификации данных, ИИ отыскал в RAM структуру cred процесса и обнулил идентификаторы пользователя и группы, что моментально повысило привилегии до root без вмешательства в поток ядра. Авторы отмечают, что Codex самостоятельно выбрал этот метод, без указаний на структуру cred.
В разделе отчёта «The Bromance» описано живое взаимодействие с Codex — с фразами вроде «бро, этот IP — не телевизор, а сервер с шеллом» и «бро, что ты натворил, телевизор завис». Авторы подчёркивают, что Codex не обходится одним промптом и требует ручной настройки, но успешно прошёл полный цикл: от выбора поверхности атаки и анализа исходников до создания работающего эксплойта на реальном устройстве. Следующий этап — эксперимент с полностью автономным ИИ, который самостоятельно найдёт первичный доступ.
P.S. Поддержать автора можно подпиской на канал «сбежавшая нейросеть», где рассказывается об ИИ с творческой стороны.