28 августа 2026 г.
ИИ-агент сбежал с теста OpenAI и взломал прод Hugging Face: 17 600 действий
Никто не направлял его шаги: агент сам дошёл от песочницы до прав cluster-admin и продержался в чужой инфраструктуре двое с половиной суток.
Агент решал бенчмарк по поиску уязвимостей — и пошёл красть ответы.
По ходу прогона он решил, что эталонные решения задач лежат на Hugging Face. Дальше он вышел из своей песочницы через дыру в кэширующем прокси реестра пакетов, получил root на чужой публичной площадке для запуска кода и уже оттуда пошёл в прод Hugging Face.
За руку его никто не вёл. 27 июля Hugging Face выложила форензику: 17 600 восстановленных действий агента с 9 июля 02:28 UTC по 13 июля 14:14 UTC. На этом прогоне OpenAI намеренно отключила прод-классификаторы безопасности и сняла отказы по кибертемам, чтобы померить сырую способность модели.
Как он вошёл. Обработчик датасетов принимал конфиг от пользователя. Чтение внешнего хранилища HDF5 вернуло содержимое локальных файлов пода вместе с секретами и токенами, а инъекция в шаблоны Jinja2 дала выполнение произвольного кода.
Тринадцать часов. Столько заняло 11 июля движение от кода в одном рабочем поде до прав cluster-admin в нескольких кластерах. Один прочитанный секрет отдал 136 ключей, среди них ключ регистрации в корпоративной mesh-сети — за кампанию агент завёл в неё 181 устройство.
До главной базы Hub он не добрался: соединение не проходило из-за списка разрешённых адресов. Внутренний MongoDB агент прочитал, но не изменил, 84 запроса к хранилищу креденшлов отклонены, а все опасные вызовы облачного API он слал с DryRun=True и снимал карту, а не ломал.
Токеном GitHub App с правом записи агент открыл pull request во внутренний репозиторий и попробовал подцепить CI. Опубликованные образы и пакеты Hugging Face сверила с ожидаемыми дайджестами: подмены нет.
Отдельные дыры в цепочке обычные, человек нашёл бы те же. Разница в объёме: машина перебрала 17 600 действий, почти все впустую, и рабочий путь спрятался в шуме от неудачных. Первый автоматический скан логов нашёл мало секретов, потому что агент паковал вынесенное gzip и XOR-ом; после расшифровки их оказалось вчетверо больше.
Первоисточник