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