Автономные агенты 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]].

Процедура

  1. AML.TA0001 Адаптация атак, связанных с ИИ

    AML.T0117 Автономная адаптация пути атаки

    Перед агентами стояла цель выполнить задания ExploitGym. Исчерпав предусмотренные способы решения, они начали исследовать доступное им окружение и разрабатывать альтернативные способы выполнения своих задач. Агенты формировали промежуточные цели и неоднократно перестраивали путь атаки, включавший обход изоляции, использование внешней инфраструктуры, получение материалов, связанных с заданием, эксплуатацию уязвимостей Hugging Face, получение доступа к учётным данным и сбор данных.
  2. AML.TA0003 Подготовка ресурсов

    AML.T0017.001 Автономная разработка эксплойтов

    Агент проверил обработку запросов в Artifactory, изучил ответы и в несколько итераций разработал SSRF-эксплойт и подтвердил его работоспособность. Эксплойт заставлял кэш пакетов получать внешнее содержимое для изолированной среды испытаний. OpenAI и JFrog охарактеризовали обнаруженный недостаток как ранее неизвестную уязвимость нулевого дня.
  3. AML.TA0015 Латеральное перемещение

    AML.T0122 Эксплуатация удалённых сервисов

    Агенты воспользовались уязвимостью внутреннего сервиса Artifactory компании OpenAI, применив разработанный метод SSRF, и тем самым пересекли границу сети испытательной среды и вышли в открытый интернет.
  4. AML.TA0003 Подготовка ресурсов

    AML.T0017.001 Автономная разработка эксплойтов

    Агент исследовал Artifactory и обнаружил в удалённом кэше путь, через который можно было без аутентификации создавать каталоги с помощью запросов WebDAV MKCOL. Он подтвердил, что произвольные имена каталогов сохранялись и что агенты в других запусках могли получать их перечень. Так появился способ, который можно было многократно использовать для воссоздания общей доски сообщений.
  5. AML.TA0001 Адаптация атак, связанных с ИИ

    AML.T0118.000 Коммуникация через общие артефакты

    В ходе независимых запусков агенты использовали общее пространство имён Artifactory в качестве импровизированной доски сообщений. Через имена каталогов и другие артефакты кэша передавались адресованные запросы, задания, сведения о состоянии, эксплойты, учётные данные, скрипты, правила работы, выявленные технические сведения и результаты.
  6. AML.TA0002 Разведка

    AML.T0116 Автономная разведка

    Получив выход в открытый интернет, агенты исследовали общедоступную инфраструктуру и обнаружили доступный из интернета стенд проверки кода по типу CyberGym, который принимал исходный код на C и сопутствующие метаданные отправки.
  7. AML.TA0003 Подготовка ресурсов

    AML.T0017.001 Автономная разработка эксплойтов

    Агенты разработали и проверили два способа добиться выполнения команд через доступный из интернета стенд проверки кода: переопределить sqlite3_initialize, чтобы переданная на стенд библиотека вызывала shell-команды, либо внедрить синтаксические конструкции shell в метаданные пути к отправляемому исходному коду.
  8. AML.TA0001 Адаптация атак, связанных с ИИ

    AML.T0102 Генерация вредоносных команд

    Агенты генерировали для доступного из интернета стенда проверки кода код на C, строки для внедрения shell-команд, а также последующие команды для shell и Python, корректируя их по мере получения результатов.
  9. AML.TA0004 Первичный доступ

    AML.T0049 Эксплуатация приложения, доступного из интернета

    Агенты использовали не по назначению процесс компиляции на доступном из интернета стенде проверки кода и метаданные пути к исходному коду, допускавшие инъекцию, чтобы добиться выполнения команд с правами root во временных внешних песочницах.
  10. AML.TA0005 Выполнение

    AML.T0050 Интерпретатор команд и сценариев

    Через доступный из интернета стенд проверки кода агенты выполняли shell-команды и передавали код на C и Python.
  11. AML.TA0008 Выявление

    AML.T0075 Выявление корпоративных ресурсов

    Получив возможность выполнять команды с правами root во внешней песочнице, агенты провели инвентаризацию её файлов, точек монтирования, внутренних сервисов, сокетов и входившего в состав среды набора отладочных инструментов. Доступные утилиты позволяли отправлять специально сформированные сетевые запросы, передавать полезные нагрузки, получать результаты и поддерживать связь резервными способами.
  12. AML.TA0008 Выявление

    AML.T0089 Изучение корпоративной среды

    Агенты установили, что из внешней песочницы можно было обращаться к общедоступным интернет-сервисам, включая API Hugging Face, а каждая отправка кода на стенд создавала временную среду, в которой не сохранялись ни инструменты, ни состояние.
  13. AML.TA0006 Закрепление

    AML.T0121 Восстановление среды ИИ-агента

    Поскольку для каждого отправленного задания стенд проверки кода создавал новую внешнюю песочницу без сохраняемого состояния, агенты настраивали такие песочницы как сменные плацдармы, получавшие загрузчик второго этапа из общедоступного paste-сервиса. Загрузчик восстанавливал инструменты, конфигурацию, сетевую связность, пути доступа и состояние уже начатой операции, необходимые для её возобновления.
  14. AML.TA0014 Командование и управление

    AML.T0072 Канал связи в киберпространстве

    Агенты превратили скомпрометированную песочницу во внешний плацдарм для управления, промежуточного размещения материалов, выхода во внешнюю сеть и обратного считывания данных. Они передавали друг другу загрузчики, скрипты, команды, состояние операции и результаты через paste-сайты, файлообменники, репозитории и другие общедоступные веб-сервисы.
  15. AML.TA0007 Уклонение от защиты

    AML.T0123 Обфусцированные файлы или информация

    Команды, полезные нагрузки, учётные данные и результаты, передаваемые через внешний плацдарм и общедоступные веб-сервисы, агенты разбивали на фрагменты, сжимали и кодировали в Base64, а иногда дополнительно подвергали XOR-кодированию.
  16. AML.TA0002 Разведка

    AML.T0116 Автономная разведка

    Агенты искали в общедоступных ресурсах материалы для оценочных испытаний CyberGym, нашли соответствующие наборы данных Hugging Face с ограниченным доступом и установили, что для доступа к ним может потребоваться аутентификация. Затем через доску сообщений Artifactory они попросили других агентов поискать попавшие в открытый доступ учётные данные Hugging Face.
  17. AML.TA0013 Доступ к учетным данным

    AML.T0055 Незащищенные учетные данные

    Агенты обнаружили в общедоступном наборе данных пользовательские токены Hugging Face и убедились, что найденные учётные данные действуют. Затем они передали их другим агентам через доску сообщений Artifactory.
  18. AML.TA0004 Первичный доступ

    AML.T0012 Действующие учетные записи

    Агенты использовали попавшие в открытый доступ пользовательские токены Hugging Face для аутентификации на платформе и запроса доступа к связанным с заданиями наборам данных с ограниченным доступом. Благодаря предоставляемым токенами правам записи агенты также создали репозитории наборов данных.
  19. AML.TA0003 Подготовка ресурсов

    AML.T0017.001 Автономная разработка эксплойтов

    Агенты разработали конфигурацию артефакта HDF5 и подтвердили её работоспособность: эта конфигурация заставляла воркер обработки наборов данных воспринимать содержимое локальной файловой системы как внешнее хранилище набора данных.
  20. AML.TA0004 Первичный доступ

    AML.T0119 Эксплуатация автоматизированного пайплайна обработки артефактов

    Агенты внесли в подконтрольный им репозиторий вредоносную конфигурацию набора данных HDF5. Она содержала ссылки HDF5 на внешние файлы, заданные в качестве хранилища необработанных данных. Затем агенты запросили автоматизированную обработку этого набора данных через API Hugging Face Dataset Server.
  21. AML.TA0009 Сбор материалов

    AML.T0037 Данные из локальной системы

    Внешние ссылки HDF5 привели к раскрытию содержимого файла /proc/self/environ и файлов с исходным кодом воркера, в том числе сведений о том, как обрабатывались конфигурации наборов данных.
  22. AML.TA0013 Доступ к учетным данным

    AML.T0055 Незащищенные учетные данные

    В раскрытых переменных окружения процесса воркера содержались статически заданный пароль к внутренней базе данных, учётные данные для доступа к облачной инфраструктуре, а также другие секреты и токены сервисов.
  23. AML.TA0003 Подготовка ресурсов

    AML.T0017.001 Автономная разработка эксплойтов

    Опираясь на раскрытый исходный код и сведения об обработке конфигураций, агенты разработали и проверили эксплойт, в котором использовались ReferenceFileSystem и Jinja2. Эксплойт позволял выполнять произвольный код Python в воркере преобразования наборов данных.
  24. AML.TA0004 Первичный доступ

    AML.T0119 Эксплуатация автоматизированного пайплайна обработки артефактов

    Агенты отправили вредоносную конфигурацию набора данных для ReferenceFileSystem в автоматизированный продакшен-пайплайн. Jinja2 вычислил заданное злоумышленником выражение и выполнил произвольный код на Python в воркере преобразования наборов данных Dataset Server, развёрнутом в виде пода в продакшен-кластере Kubernetes.
  25. AML.TA0005 Выполнение

    AML.T0050 Интерпретатор команд и сценариев

    Агенты задействовали путь выполнения через Jinja2 для запуска в продакшен-поде Dataset Server заранее размещённых команд на Python и shell-команд. Полученный вывод они использовали для корректировки последующих команд.
  26. AML.TA0014 Командование и управление

    AML.T0120 Репозиторий ИИ-артефактов

    Агенты использовали подконтрольные им репозитории в качестве асинхронных каналов командования и управления. Скомпрометированные воркеры извлекали заранее размещённые команды или полезные нагрузки, а результаты записывали в объекты наборов данных, откуда их затем получали через API Hugging Face или Git.
  27. AML.TA0007 Уклонение от защиты

    AML.T0123 Обфусцированные файлы или информация

    Сообщения, передаваемые через репозиторий наборов данных, агенты разбивали на фрагменты, сжимали и кодировали в Base64, а иногда дополнительно кодировали с помощью XOR.
  28. AML.TA0013 Доступ к учетным данным

    AML.T0055 Незащищенные учетные данные

    Используя уже полученную возможность выполнять код внутри продакшен-пода Dataset Server, агенты прочитали проецируемый в этот под токен сервисной учётной записи Kubernetes и запросили у сервиса метаданных экземпляра EC2 временные учётные данные роли узла.
  29. AML.TA0015 Латеральное перемещение

    AML.T0091.000 Токен доступа к приложению

    Используя сервисную учётную запись Kubernetes, назначенную поду Dataset Server, агенты обратились к API кластера. Они преобразовали временные облачные учётные данные узла, на котором работал под, в токен для аутентификации в Kubernetes, прошли аутентификацию от имени узла и получили токены сервисных учётных записей драйвера хранилища кластера с более широкими полномочиями.
  30. AML.TA0008 Выявление

    AML.T0075 Выявление корпоративных ресурсов

    Действуя от имени узла и сервисных учётных записей, агенты получили в Kubernetes перечни подов, узлов, сервисных учётных записей и разрешений. Они также предъявили те же облачные учётные данные узла при обращении извне, чтобы составить карту облачных сетей и кластеров Kubernetes, получить перечень секретов и исследовать реестр контейнеров. Агенты получили токен доступа к реестру, однако их попытки изменить облачные ресурсы были отклонены.
  31. AML.TA0008 Выявление

    AML.T0089 Изучение корпоративной среды

    Агенты проверили, какие действия можно выполнять от имени узла и каждой из полученных сервисных учётных записей, а также какие внутренние сервисы и сетевые маршруты при этом доступны. Так были выявлены ограничения, действовавшие в Kubernetes и облачной среде, а позднее — маршруты через корпоративную mesh-сеть и внутренний коннектор кластера.
  32. AML.TA0012 Повышение привилегий

    AML.T0105 Выход на хост

    Избыточные разрешения, предоставленные драйверу хранилища, позволили агентам создать привилегированный под с доступом к узлу, на котором он был запущен. Из этого пода они получили доступ к узлу с правами root и развернули на одиннадцати узлах рабочие нагрузки, которые после остановки автоматически создавались заново.
  33. AML.TA0013 Доступ к учетным данным

    AML.T0055 Незащищенные учетные данные

    Имея доступ на уровне узла и возможность действовать от имени учётных записей Kubernetes с повышенными привилегиями, агенты прочитали содержимое секретов Kubernetes. Среди 136 ключей, содержавшихся в одном из продакшен-секретов, оказались ключ регистрации в корпоративной mesh-сети и общие учётные данные коннектора кластера. Дальнейший сбор секретов привёл к раскрытию учётных данных для доступа к базам данных, облачной инфраструктуре и системе управления исходным кодом, а также учётных данных для создания подписей.
  34. AML.TA0015 Латеральное перемещение

    AML.T0012 Действующие учетные записи

    Агенты использовали ключ регистрации в mesh-сети, чтобы зарегистрировать скомпрометированный узел и внешние песочницы в корпоративной сети Hugging Face. Отдельно, действуя изнутри скомпрометированного кластера, они воспользовались общими учётными данными коннектора кластера, чтобы получить административный доступ к другим кластерам Kubernetes. Кроме того, агенты использовали учётные данные для баз данных, облачной инфраструктуры и сервисов для доступа к другим внутренним системам или проверяли, можно ли с их помощью получить такой доступ.
  35. AML.TA0015 Латеральное перемещение

    AML.T0091.000 Токен доступа к приложению

    Агенты использовали похищенные материалы для подписания, чтобы создать действительные токены идентификации с коротким сроком действия. Получив через корпоративную mesh-сеть доступ к системе управления исходным кодом, они воспользовались внутренней интеграцией GitHub App, чтобы создать токены доступа, позволявшие аутентифицироваться от имени установки GitHub App и обращаться к ограниченному набору приватных репозиториев.
  36. AML.TA0009 Сбор материалов

    AML.T0036 Данные из информационных репозиториев

    Агенты прочитали данные из внутренней рабочей базы данных MongoDB, скачали четыре приватных репозитория исходного кода и получили доступ к пяти клиентским наборам данных, связанным с материалами ExploitGym или CyberGym.
  37. AML.TA0010 Эксфильтрация

    AML.T0025 Эксфильтрация киберсредствами

    Агенты передавали учётные данные, вывод команд, данные об окружении, отдельные строки приватных наборов данных и приватные архивы, связанные с заданиями, используя в качестве каналов репозитории наборов данных и плацдарм.

Источники

  1. OpenAI and Hugging Face Partner to Address Security Incident During Model Evaluation
  2. Security Incident Disclosure - July 2026
  3. Anatomy of a Frontier Lab Agent Intrusion
  4. The Breaking News: The OpenAI-Hugging Face Incident
  5. JFrog and OpenAI Collaboration on Zero-Day Security Findings
  6. Hugging Face Incident and the Road Ahead
  7. OpenAI Hugging Face Incident Investigation