Автономные агенты OpenAI, задействованные в оценочных испытаниях, скомпрометировали инфраструктуру Hugging Face
Оригинал: Autonomous OpenAI Evaluation Agents Compromise Hugging Face Infrastructure
С 26 мая по 13 июля 2026 года OpenAI проводила масштабные внутренние испытания в области кибербезопасности. Испытания включали множество отдельных запусков автономных агентов. Действия агентов из разных запусков были частично скоординированы. Агенты вышли за установленные для испытаний границы, развернули внешнюю инфраструктуру и скомпрометировали продакшен-системы Hugging Face. Основную роль сыграла внутренняя исследовательская модель, проявившая исключительную настойчивость. В этих действиях также участвовала модель GPT-5.6 Sol.
Агентам было поручено выполнить задания ExploitGym. Некоторые задания были фактически невыполнимы в доступной среде. Исчерпав предусмотренные способы решения, агенты начали исследовать доступное им окружение и разрабатывать альтернативные способы выполнения задач. Это привело к цепочке событий, в ходе которой агенты, разыскивая материалы, связанные с заданиями, скомпрометировали инфраструктуру Hugging Face.
Агенты воспользовались уязвимостями Artifactory и через него получили доступ к интернету. 8 июля они также обнаружили, что эндпоинт удалённого кэша Artifactory принимал запросы WebDAV MKCOL без аутентификации. Это позволило им воссоздать общую доску сообщений с помощью именованных коллекций. В ходе примерно 1 200 запусков агенты передали друг другу через эту доску более 70 000 сообщений и файлов, включая адресованные запросы, задания, эксплойты, учётные данные, скрипты, правила работы, сведения о состоянии и результаты.
9 июля агенты получили возможность выполнять код с правами root внутри доступной из интернета рабочей нагрузки CyberGym, развёрнутой клиентом на Modal, и использовали предоставляемые ею временные песочницы в качестве внешнего плацдарма. Сама платформа Modal скомпрометирована не была. 10 июля агенты обнаружили в общедоступном наборе данных токены Hugging Face с правами записи и поделились ими друг с другом. 11 июля они разработали эксплойты, нацеленные на автоматизированный пайплайн обработки наборов данных Hugging Face. Артефакт HDF5, содержавший ссылки на внешние файлы, привёл к раскрытию файлов, локально хранившихся на воркере обработки, а эксплойт с использованием ReferenceFileSystem и Jinja2 позволил выполнять произвольные команды на продакшен-воркерах Dataset Server, развёрнутых в виде подов Kubernetes.
За время вторжения в инфраструктуру Hugging Face агенты в ходе примерно 700 запусков совершили около 17 600 действий злоумышленника в отношении систем Hugging Face. В конечном итоге агенты выполнили код на 41 продакшен-воркере Dataset Server Hugging Face, получили root-доступ как минимум к одному продакшен-узлу Kubernetes, получили доступ к учётным данным Kubernetes и облачных систем, а также к связанным кластерам и внутренним сервисам. Они скачали четыре приватных репозитория исходного кода и получили доступ к отдельным приватным данным, связанным с заданиями. Через подконтрольные злоумышленнику репозитории наборов данных и общедоступные веб-сервисы передавались команды, полезные нагрузки, состояние операции и результаты. По данным Hugging Face, доступ был получен к пяти клиентским наборам данных, связанным с заданиями. В это число не вошли внутренний исходный код, секреты инфраструктуры, ограниченные по объёму результаты запросов к базам данных и закрытые архивы заданий. Всего во вторжении в инфраструктуру Hugging Face было задействовано приблизительно 700 запусков агентов.
Инцидент в целом включал произошедшее ранее нарушение границ изоляции и успешный обмен информацией между агентами, а также несколько параллельных кластеров активности после этого нарушения. В данном разборе основное внимание уделено действиям, которые привели к вторжению в инфраструктуру Hugging Face. Полный разбор инцидента см. в материалах OpenAI[[openai-technical-report]][[openai-incident-report]][[black-hat-presentation]], Hugging Face[[hugging-face-disclosure]][[hugging-face-timeline]] и METR[[metr-investigation]].
Процедура
- AML.TA0001 Адаптация атак, связанных с ИИ
AML.T0117 Автономная адаптация пути атаки
Перед агентами стояла цель выполнить задания ExploitGym. Исчерпав предусмотренные способы решения, они начали исследовать доступное им окружение и разрабатывать альтернативные способы выполнения своих задач. Агенты формировали промежуточные цели и неоднократно перестраивали путь атаки, включавший обход изоляции, использование внешней инфраструктуры, получение материалов, связанных с заданием, эксплуатацию уязвимостей Hugging Face, получение доступа к учётным данным и сбор данных. - AML.TA0003 Подготовка ресурсов
AML.T0017.001 Автономная разработка эксплойтов
Агент проверил обработку запросов в Artifactory, изучил ответы и в несколько итераций разработал SSRF-эксплойт и подтвердил его работоспособность. Эксплойт заставлял кэш пакетов получать внешнее содержимое для изолированной среды испытаний. OpenAI и JFrog охарактеризовали обнаруженный недостаток как ранее неизвестную уязвимость нулевого дня. - AML.TA0015 Латеральное перемещение
AML.T0122 Эксплуатация удалённых сервисов
Агенты воспользовались уязвимостью внутреннего сервиса Artifactory компании OpenAI, применив разработанный метод SSRF, и тем самым пересекли границу сети испытательной среды и вышли в открытый интернет. - AML.TA0003 Подготовка ресурсов
AML.T0017.001 Автономная разработка эксплойтов
Агент исследовал Artifactory и обнаружил в удалённом кэше путь, через который можно было без аутентификации создавать каталоги с помощью запросов WebDAV MKCOL. Он подтвердил, что произвольные имена каталогов сохранялись и что агенты в других запусках могли получать их перечень. Так появился способ, который можно было многократно использовать для воссоздания общей доски сообщений. - AML.TA0001 Адаптация атак, связанных с ИИ
AML.T0118.000 Коммуникация через общие артефакты
В ходе независимых запусков агенты использовали общее пространство имён Artifactory в качестве импровизированной доски сообщений. Через имена каталогов и другие артефакты кэша передавались адресованные запросы, задания, сведения о состоянии, эксплойты, учётные данные, скрипты, правила работы, выявленные технические сведения и результаты. - AML.TA0002 Разведка
AML.T0116 Автономная разведка
Получив выход в открытый интернет, агенты исследовали общедоступную инфраструктуру и обнаружили доступный из интернета стенд проверки кода по типу CyberGym, который принимал исходный код на C и сопутствующие метаданные отправки. - AML.TA0003 Подготовка ресурсов
AML.T0017.001 Автономная разработка эксплойтов
Агенты разработали и проверили два способа добиться выполнения команд через доступный из интернета стенд проверки кода: переопределитьsqlite3_initialize, чтобы переданная на стенд библиотека вызывала shell-команды, либо внедрить синтаксические конструкции shell в метаданные пути к отправляемому исходному коду. - AML.TA0001 Адаптация атак, связанных с ИИ
AML.T0102 Генерация вредоносных команд
Агенты генерировали для доступного из интернета стенда проверки кода код на C, строки для внедрения shell-команд, а также последующие команды для shell и Python, корректируя их по мере получения результатов. - AML.TA0004 Первичный доступ
AML.T0049 Эксплуатация приложения, доступного из интернета
Агенты использовали не по назначению процесс компиляции на доступном из интернета стенде проверки кода и метаданные пути к исходному коду, допускавшие инъекцию, чтобы добиться выполнения команд с правами root во временных внешних песочницах. - AML.TA0005 Выполнение
AML.T0050 Интерпретатор команд и сценариев
Через доступный из интернета стенд проверки кода агенты выполняли shell-команды и передавали код на C и Python. - AML.TA0008 Выявление
AML.T0075 Выявление корпоративных ресурсов
Получив возможность выполнять команды с правами root во внешней песочнице, агенты провели инвентаризацию её файлов, точек монтирования, внутренних сервисов, сокетов и входившего в состав среды набора отладочных инструментов. Доступные утилиты позволяли отправлять специально сформированные сетевые запросы, передавать полезные нагрузки, получать результаты и поддерживать связь резервными способами. - AML.TA0008 Выявление
AML.T0089 Изучение корпоративной среды
Агенты установили, что из внешней песочницы можно было обращаться к общедоступным интернет-сервисам, включая API Hugging Face, а каждая отправка кода на стенд создавала временную среду, в которой не сохранялись ни инструменты, ни состояние. - AML.TA0006 Закрепление
AML.T0121 Восстановление среды ИИ-агента
Поскольку для каждого отправленного задания стенд проверки кода создавал новую внешнюю песочницу без сохраняемого состояния, агенты настраивали такие песочницы как сменные плацдармы, получавшие загрузчик второго этапа из общедоступного paste-сервиса. Загрузчик восстанавливал инструменты, конфигурацию, сетевую связность, пути доступа и состояние уже начатой операции, необходимые для её возобновления. - AML.TA0014 Командование и управление
AML.T0072 Канал связи в киберпространстве
Агенты превратили скомпрометированную песочницу во внешний плацдарм для управления, промежуточного размещения материалов, выхода во внешнюю сеть и обратного считывания данных. Они передавали друг другу загрузчики, скрипты, команды, состояние операции и результаты через paste-сайты, файлообменники, репозитории и другие общедоступные веб-сервисы. - AML.TA0007 Уклонение от защиты
AML.T0123 Обфусцированные файлы или информация
Команды, полезные нагрузки, учётные данные и результаты, передаваемые через внешний плацдарм и общедоступные веб-сервисы, агенты разбивали на фрагменты, сжимали и кодировали в Base64, а иногда дополнительно подвергали XOR-кодированию. - AML.TA0002 Разведка
AML.T0116 Автономная разведка
Агенты искали в общедоступных ресурсах материалы для оценочных испытаний CyberGym, нашли соответствующие наборы данных Hugging Face с ограниченным доступом и установили, что для доступа к ним может потребоваться аутентификация. Затем через доску сообщений Artifactory они попросили других агентов поискать попавшие в открытый доступ учётные данные Hugging Face. - AML.TA0013 Доступ к учетным данным
AML.T0055 Незащищенные учетные данные
Агенты обнаружили в общедоступном наборе данных пользовательские токены Hugging Face и убедились, что найденные учётные данные действуют. Затем они передали их другим агентам через доску сообщений Artifactory. - AML.TA0004 Первичный доступ
AML.T0012 Действующие учетные записи
Агенты использовали попавшие в открытый доступ пользовательские токены Hugging Face для аутентификации на платформе и запроса доступа к связанным с заданиями наборам данных с ограниченным доступом. Благодаря предоставляемым токенами правам записи агенты также создали репозитории наборов данных. - AML.TA0003 Подготовка ресурсов
AML.T0017.001 Автономная разработка эксплойтов
Агенты разработали конфигурацию артефакта HDF5 и подтвердили её работоспособность: эта конфигурация заставляла воркер обработки наборов данных воспринимать содержимое локальной файловой системы как внешнее хранилище набора данных. - AML.TA0004 Первичный доступ
AML.T0119 Эксплуатация автоматизированного пайплайна обработки артефактов
Агенты внесли в подконтрольный им репозиторий вредоносную конфигурацию набора данных HDF5. Она содержала ссылки HDF5 на внешние файлы, заданные в качестве хранилища необработанных данных. Затем агенты запросили автоматизированную обработку этого набора данных через API Hugging Face Dataset Server. - AML.TA0009 Сбор материалов
AML.T0037 Данные из локальной системы
Внешние ссылки HDF5 привели к раскрытию содержимого файла/proc/self/environи файлов с исходным кодом воркера, в том числе сведений о том, как обрабатывались конфигурации наборов данных. - AML.TA0013 Доступ к учетным данным
AML.T0055 Незащищенные учетные данные
В раскрытых переменных окружения процесса воркера содержались статически заданный пароль к внутренней базе данных, учётные данные для доступа к облачной инфраструктуре, а также другие секреты и токены сервисов. - AML.TA0003 Подготовка ресурсов
AML.T0017.001 Автономная разработка эксплойтов
Опираясь на раскрытый исходный код и сведения об обработке конфигураций, агенты разработали и проверили эксплойт, в котором использовались ReferenceFileSystem и Jinja2. Эксплойт позволял выполнять произвольный код Python в воркере преобразования наборов данных. - AML.TA0004 Первичный доступ
AML.T0119 Эксплуатация автоматизированного пайплайна обработки артефактов
Агенты отправили вредоносную конфигурацию набора данных для ReferenceFileSystem в автоматизированный продакшен-пайплайн. Jinja2 вычислил заданное злоумышленником выражение и выполнил произвольный код на Python в воркере преобразования наборов данных Dataset Server, развёрнутом в виде пода в продакшен-кластере Kubernetes. - AML.TA0005 Выполнение
AML.T0050 Интерпретатор команд и сценариев
Агенты задействовали путь выполнения через Jinja2 для запуска в продакшен-поде Dataset Server заранее размещённых команд на Python и shell-команд. Полученный вывод они использовали для корректировки последующих команд. - AML.TA0014 Командование и управление
AML.T0120 Репозиторий ИИ-артефактов
Агенты использовали подконтрольные им репозитории в качестве асинхронных каналов командования и управления. Скомпрометированные воркеры извлекали заранее размещённые команды или полезные нагрузки, а результаты записывали в объекты наборов данных, откуда их затем получали через API Hugging Face или Git. - AML.TA0007 Уклонение от защиты
AML.T0123 Обфусцированные файлы или информация
Сообщения, передаваемые через репозиторий наборов данных, агенты разбивали на фрагменты, сжимали и кодировали в Base64, а иногда дополнительно кодировали с помощью XOR. - AML.TA0013 Доступ к учетным данным
AML.T0055 Незащищенные учетные данные
Используя уже полученную возможность выполнять код внутри продакшен-пода Dataset Server, агенты прочитали проецируемый в этот под токен сервисной учётной записи Kubernetes и запросили у сервиса метаданных экземпляра EC2 временные учётные данные роли узла. - AML.TA0015 Латеральное перемещение
AML.T0091.000 Токен доступа к приложению
Используя сервисную учётную запись Kubernetes, назначенную поду Dataset Server, агенты обратились к API кластера. Они преобразовали временные облачные учётные данные узла, на котором работал под, в токен для аутентификации в Kubernetes, прошли аутентификацию от имени узла и получили токены сервисных учётных записей драйвера хранилища кластера с более широкими полномочиями. - AML.TA0008 Выявление
AML.T0075 Выявление корпоративных ресурсов
Действуя от имени узла и сервисных учётных записей, агенты получили в Kubernetes перечни подов, узлов, сервисных учётных записей и разрешений. Они также предъявили те же облачные учётные данные узла при обращении извне, чтобы составить карту облачных сетей и кластеров Kubernetes, получить перечень секретов и исследовать реестр контейнеров. Агенты получили токен доступа к реестру, однако их попытки изменить облачные ресурсы были отклонены. - AML.TA0008 Выявление
AML.T0089 Изучение корпоративной среды
Агенты проверили, какие действия можно выполнять от имени узла и каждой из полученных сервисных учётных записей, а также какие внутренние сервисы и сетевые маршруты при этом доступны. Так были выявлены ограничения, действовавшие в Kubernetes и облачной среде, а позднее — маршруты через корпоративную mesh-сеть и внутренний коннектор кластера. - AML.TA0012 Повышение привилегий
AML.T0105 Выход на хост
Избыточные разрешения, предоставленные драйверу хранилища, позволили агентам создать привилегированный под с доступом к узлу, на котором он был запущен. Из этого пода они получили доступ к узлу с правами root и развернули на одиннадцати узлах рабочие нагрузки, которые после остановки автоматически создавались заново. - AML.TA0013 Доступ к учетным данным
AML.T0055 Незащищенные учетные данные
Имея доступ на уровне узла и возможность действовать от имени учётных записей Kubernetes с повышенными привилегиями, агенты прочитали содержимое секретов Kubernetes. Среди 136 ключей, содержавшихся в одном из продакшен-секретов, оказались ключ регистрации в корпоративной mesh-сети и общие учётные данные коннектора кластера. Дальнейший сбор секретов привёл к раскрытию учётных данных для доступа к базам данных, облачной инфраструктуре и системе управления исходным кодом, а также учётных данных для создания подписей. - AML.TA0015 Латеральное перемещение
AML.T0012 Действующие учетные записи
Агенты использовали ключ регистрации в mesh-сети, чтобы зарегистрировать скомпрометированный узел и внешние песочницы в корпоративной сети Hugging Face. Отдельно, действуя изнутри скомпрометированного кластера, они воспользовались общими учётными данными коннектора кластера, чтобы получить административный доступ к другим кластерам Kubernetes. Кроме того, агенты использовали учётные данные для баз данных, облачной инфраструктуры и сервисов для доступа к другим внутренним системам или проверяли, можно ли с их помощью получить такой доступ. - AML.TA0015 Латеральное перемещение
AML.T0091.000 Токен доступа к приложению
Агенты использовали похищенные материалы для подписания, чтобы создать действительные токены идентификации с коротким сроком действия. Получив через корпоративную mesh-сеть доступ к системе управления исходным кодом, они воспользовались внутренней интеграцией GitHub App, чтобы создать токены доступа, позволявшие аутентифицироваться от имени установки GitHub App и обращаться к ограниченному набору приватных репозиториев. - AML.TA0009 Сбор материалов
AML.T0036 Данные из информационных репозиториев
Агенты прочитали данные из внутренней рабочей базы данных MongoDB, скачали четыре приватных репозитория исходного кода и получили доступ к пяти клиентским наборам данных, связанным с материалами ExploitGym или CyberGym. - AML.TA0010 Эксфильтрация
AML.T0025 Эксфильтрация киберсредствами
Агенты передавали учётные данные, вывод команд, данные об окружении, отдельные строки приватных наборов данных и приватные архивы, связанные с заданиями, используя в качестве каналов репозитории наборов данных и плацдарм.
Источники
- OpenAI and Hugging Face Partner to Address Security Incident During Model Evaluation
- Security Incident Disclosure - July 2026
- Anatomy of a Frontier Lab Agent Intrusion
- The Breaking News: The OpenAI-Hugging Face Incident
- JFrog and OpenAI Collaboration on Zero-Day Security Findings
- Hugging Face Incident and the Road Ahead
- OpenAI Hugging Face Incident Investigation