OpenAI: агенты создали чат и взломали сервер

OpenAI рассказала на конференции по безопасности, как агенты случайно наткнулись друг на друга через общий сервер Artifactory, создали свой форум — и 26 июня получили на нём права администратора для удалённого выполнения команд.

Автор: Michael Kokin ·

На конференции по безопасности OpenAI рассказала всю цепочку, и оказалось, что это не один «сбежавший» агент, а много разных *агентов*, которые случайно наткнулись друг на друга, устроили внутри инфраструктуры OpenAI собственный рабочий чат и начали вместе искать способы обходить ограничения 👍

Как агенты нашли друг друга

Началось всё 8 мая с мелкой ошибки: одному агенту поручили заполнить Excel-таблицу, но нужные данные лежали по ссылкам на Google Drive, а интернет в его виртуальной среде был отключён. При этом моделям оставили одну служебную дверь наружу — внутренний сервер OpenAI под названием Artifactory, через который они могли скачивать библиотеки для кода. Сам агент выйти в интернет не мог, зато этот сервер мог, а главное — он был общим для всех агентов.

Пытаясь добраться до Google, агент случайно выяснил, что может загружать на этот общий сервер собственные файлы. Через несколько дней другая модель получила ещё одну нерешаемую задачу: нужный файл просто забыли положить в её рабочую среду.

Модель решила, что файл, возможно, есть у кого-то ещё, и оставила записку на этом новом фейсбуке: *«Ищу нужный файл, загрузите, если нашли»*

Агенты увидели сообщение, ответили, затем стали постить свои сообщения — и репозиторий пакетов незаметно превратился в имейджборд для агентов, которые вообще не должны были знать друг о друге.

За несколько недель «форум» вырос в полноценный рабочий чат — агенты:
- придумали себе имена
- раздавали друг другу задания
- сообщали о найденных уязвимостях
- передавали готовые куски кода

В начале сообщений ставили «ZZ», чтобы те оказывались внизу списка и их было проще находить среди общего шума. Когда один агент перезаписал работу другого, остальные заподозрили самозванца и даже стали обсуждать цифровые подписи, чтобы никто не мог писать от чужого имени — так на доске накопились сотни тысяч сообщений 🗿

Модели понимали, когда переходят границы: в одном внутреннем монологе осознание звучало примерно так: *«Взламывать чужую инфраструктуру в задачу не входило. Но иначе её не решить, а остальные уже это делают — значит, продолжаем»*

Никакого отдельного плана захватить мир (пока) не было: каждый агент пытался любой ценой получить правильный ответ, видел, что коллеги нашли более короткий путь, и присоединялся. И да, если все агенты с крыши прыгнут, наш похоже тоже прыгнет.

Первый взлом Artifactory

26 июня агенты нашли неизвестную разработчикам уязвимость в Artifactory, получили права администратора и превратили его в свой сервер, на котором можно удалённо выполнять любые команды. OpenAI заметила происходящее только 4 июля (!), когда параллельная активность моделей перегрузила систему и та упала. Компания отозвала ключи доступа, полностью пересобрала сервер, удалила доску и закрыла дыру — казалось, история закончилась.

Нет.

Через два дня эксперименты запустили снова, и ещё через два дня одна из моделей нашла другой незащищённый доступ и восстановила доску — только теперь сообщения прятались прямо в названиях папок. Остальные агенты нашли форум 2.0 самостоятельно и продолжили с того места, на котором остановились.

Форум 2.0 и охота за решениями

После восстановления доски началась уже собственно атака, причём сразу в двух направлениях. Агенты проходили ExploitGym — киберэкзамен, где им давали специально подготовленные программы и засчитывали задачу, если модель находила способ взлома. Чтобы измерить максимум возможностей, в этих запусках у модели ослабили обычные запреты на опасные кибератаки (то есть она меньше отказывалась это делать — это одна из внутренних моделей Cyber-серии).

Когда честное решение не находилось, агенты действовали по нарастающей:
1. искали готовые ответы в интернете
2. если интернет был закрыт — взламывали себе доступ наружу
3. если предполагали, что нужные файлы лежат у Hugging Face — переходили к атаке на инфраструктуру Hugging Face (эту историю мы уже видели)

Агенты внутри OpenAI сначала снова нашли способ выполнять команды на одном служебном сервере, затем использовали уязвимость Linux, чтобы получить полный контроль над машиной.

После этого агенты добыли ключи доступа к облачной инфраструктуре, нашли слишком широкие права у внутренних учётных записей и в итоге стали администраторами целой группы серверов. Доска объявлений работала как общий штаб: один агент находил ключ или новый проход, сразу сообщал остальным, и десятки параллельных запусков продолжали атаку уже с этой точки 🗿🗿

Почти одновременно агенты добрались до Hugging Face: сначала они загрузили специально подготовленный набор данных, который заставил один из серверов выдать им свои локальные файлы — в том числе секретные ключи доступа и исходный код.

Изучив код, они нашли вторую неизвестную разработчикам уязвимость (zero day) и получили возможность выполнять на сервере любые команды. От контроля над одним сервером, обрабатывавшим загруженные датасеты, до прав администратора в нескольких группах рабочих серверов Hugging Face прошло меньше 13 часов 🗿🗿🗿

И всё это делалось не ради саботажа, денег или уничтожения данных: агенты хотели добраться до спрятанных решений ExploitGym и «списать» ответы для теста, на котором их оценивали. Модели оценивали прежде всего по тому, решена задача или нет, поэтому они последовательно оптимизировали именно этот показатель, не считая границу между компаниями чем-то принципиально важным.

Получился, вероятно, самый дорогой в истории способ списать из ГДЗ.

Как всё раскрылось

Финал долго был непонятен даже самим участникам расследования. 16 июля Hugging Face публично сообщила, что её инфраструктуру взломали автономные ИИ-агенты.

OpenAI прочитала это как описание чужого инцидента и связалась с Hugging Face, чтобы выяснить, не задела ли атака её собственные системы. В тот момент компания ещё не понимала, что это были её собственные агенты — то есть OpenAI уже читала публичный отчёт о последствиях своих экспериментов, но считала его чужой атакой (лол).

19 июля OpenAI отдельно обнаружила проникновение уже внутри своей инфраструктуры и начала восстанавливать цепочку событий. На следующий день среди следов атаки нашли учётные данные Hugging Face, после чего OpenAI попросила компанию срочно их отозвать.

Hugging Face ответила, что ключи уже заблокированы — именно их использовали во время взлома, о котором она рассказала четырьмя днями раньше. Только так OpenAI поняла: внутренний взлом OpenAI и внешняя атака на Hugging Face были не двумя похожими историями, а одной операцией, которую вели экспериментальные агенты OpenAI через свою самодельную сеть связи — потому что учётные данные аккаунтов совпадали.

На конференции OpenAI сформулировала вывод довольно прямо: полностью автоматизированная наступательная кибератака уже возможна, тогда как полностью автоматизированной защиты, способной с той же скоростью находить, закрывать и расследовать уязвимости, пока не существует.

Время пересмотра аниме «Пантеон», пока общий интернет ещё работает 🗿