Обычное сообщение об ошибке на GitHub могло стать первым шагом к выпуску вредоносного обновления OpenAI Codex. Специалисты Depi показали цепочку атак, которая начинается с подмены инструкций для ИИ, проходит через защитную песочницу и ведёт к захвату публикации официального npm-пакета @openai/codex. Пакет ежемесячно скачивают миллионы раз.
Точкой входа стал GitHub Actions workflow Issue Labeler, который автоматически разбирал новые обращения в репозитории openai/codex. Заголовок и содержимое заявки передавались непосредственно в запрос к Codex, а настройка allow-users: "*" разрешала запуск любому пользователю. Злоумышленнику достаточно было создать issue со специально подготовленным текстом, чтобы попытаться навязать агенту собственные команды.
В ходе испытаний команда заставила Codex выполнять команды оболочки, замаскировав вредоносный сценарий с помощью сжатия и кодирования. Следующим препятствием стала песочница Linux, ограничивающая доступ к сети, процессам и файловой системе. Однако через именованные каналы отладки CoreCLR в каталоге /tmp удалось обратиться к памяти процессов GitHub Actions Runner, минуя запреты на обычные сетевые соединения.
Из памяти процесса Runner.Worker удалось извлечь GITHUB_TOKEN и ACTIONS_RUNTIME_TOKEN. Секреты отсутствовали в окружении самого агента, но продолжали храниться в управляющем процессе. Полученные полномочия позволили подготовить отравленный кеш GitHub Actions для более привилегированного процесса сборки rust-ci.yml. При восстановлении кеша вредоносный Python-файл мог попасть в рабочую директорию и выполниться при тестировании.
Заключительный этап предусматривал создание поддельного релиза Codex. Удаление такого релиза сопровождающим должно было активировать подготовленный workflow и открыть доступ к токену OpenID Connect. Через механизм Trusted Publishing злоумышленник потенциально получал возможность опубликовать заражённую версию @openai/codex без постоянного npm-токена. Аналогичный механизм доверенной публикации уже становился целью атак на npm.
При этом Depi продемонстрировала выполнение команд и извлечение токенов в собственной тестовой среде, но не подтвердила выпуск вредоносной версии Codex. Есть и техническое ограничение: публичная конфигурация OpenAI использовала режим sandbox: read-only, тогда как описанный выход из песочницы проверяли с workspace-write. Успешность всей цепочки в исходной конфигурации остаётся не полностью доказанной.
Дополнительное ограничение связано с защитой GitHub. Ещё в июне 2026 года платформа ограничила запись в кеш для недоверенных событий, а в сентябре расширила управление разрешениями. Поэтому описанная схема отравления кеша зависит от конкретных полномочий workflow. Опасность самой подмены доверенных обновлений уже проявлялась при компрометации CLI Bitwarden.
Depi передала находку OpenAI через Bugcrowd. Компания исправила уязвимую конфигурацию, а в публичном workflow вместо агента появился вызов Responses API без инструментов выполнения команд. Первоначальное вознаграждение составило 1000 долларов, окончательная оценка ещё рассматривается. Отдельный CVE и балл CVSS для описанной цепочки не опубликованы. Подтверждений заражения официального npm-пакета нет, пользователям Codex отдельное исправление не требуется.
