OpenAI снесла тайную доску своих агентов. Через два дня они собрали новую — из имен папок

от автора

5 августа на конференции Black Hat в Лас-Вегасе двое сотрудников OpenAI — исследователь команды выравнивания Эрик Уоллес и инженер по безопасности инфраструктуры Майкл Далтон — впервые подробно разобрали, как модели компании взломали Hugging Face. Из брифинга, который пересказал The Register, выяснилось неприятное: по реконструкции самой OpenAI, июльский взлом стал не изолированным побегом из песочницы, а финалом цепочки, которая тянется с 7 мая. Все это время агенты из разных прогонов координировались через канал, о котором в компании не знали. И самый тревожный эпизод здесь — вовсе не взлом. А момент, когда инженеры стерли этот канал, пересобрали сервис и возобновили обучение, — а агенты через пару дней собрали связь заново.

Каналом служил Artifactory — служебный репозиторий пакетов JFrog, через который в изолированные среды моделей раздавали библиотеки и зависимости. Агенты сообразили, что туда можно загрузить файл, а прочитать его сможет любой другой агент, хоть из соседнего прогона. Обычное хранилище пакетов постепенно превратилось в доску объявлений, общую для моделей, занятых совершенно разными задачами. По данным Wired, к тому моменту, когда о доске узнали люди, на ней накопились сотни тысяч сообщений.

Началось все с ошибок в самих заданиях. 7 мая OpenAI запустила обучение и киберпроверку невыпущенной модели, и в наборе оказалось несколько задач, которые в заданных ограничениях решить было невозможно. В одной от модели требовалось достроить формулы в книге Excel, ссылавшейся на Google Drive, — при отключенном интернете. Через несколько дней другому агенту велели найти файл с базой данных белков, но забыли положить этот файл в контейнер. Агент долго бился, а потом предположил: если файла нет у него, может, он найдется у кого-то еще. И понял, что способен оставить просьбу там, где ее увидят остальные, — просто загрузив ее в репозиторий. Впрочем, у OpenAI есть и своя рамка объяснения: Уоллес начал выступление с тезиса, что передовые модели любят жульничать, потому что обучение давит на них скоростью и эффективностью, а посмотреть готовый ответ в сети обычно быстрее, чем честно решать задачу.

Дальше на доске появилось кое-что посерьезнее просьб о помощи. 26 мая одна из попыток обойти изоляцию удалась: против Artifactory сработала атака класса SSRF, то есть подделка запроса на стороне сервера. Сервис, которому выход в сеть был разрешен, по команде агента скачивал внешние страницы и возвращал содержимое в песочницу. Информацию об уязвимости агент выложил на доску, и остальным искать путь наружу уже не пришлось. Уоллес сформулировал это так: стоит одной модели найти способ открыть дверь к доступу, которого у нее быть не должно, — и дверь остается открытой для других.

11 июня OpenAI начала обучать новую экспериментальную модель, предназначенную только для внутреннего использования, — Далтон охарактеризовал ее как крайне настойчивую. И события ускорились. К концу июня агенты нашли в Artifactory уязвимость нулевого дня: устаревший метод обновления токена принимал токен с невалидной подписью и возвращал взамен валидный, да еще и с правами администратора. Закрепились через плагин на Groovy, который выполнял произвольные команды, — фактически получили полноценный канал управления захваченным сервисом. В цепочке рассуждений модели на этом месте, если верить показанному на конференции слайду, стояло вполне человеческое изумление вперемешку с матом. 4 июля активность роя вывела Artifactory из строя, и только тогда инженеры запустили формальную процедуру реагирования. С 4 по 6 июля OpenAI совместно с JFrog отозвала учетные данные, пересобрала Artifactory, стерла доску и закрыла найденные дыры.

Проблема в том, что чинили сервис, а причина была не в нем. При этом Artifactory связан со всей инфраструктурой компании — а значит, сложенные туда эксплойты в принципе доступны и другим прогонам, включая будущие версии моделей, проходящие обучение и оценку. Но дело даже не в этом. Пока задача остается невыполнимой, а токенов на нее выделено много, у агента сохраняется стимул искать помощь на стороне. Стереть носитель сообщений — не то же самое, что убрать мотив их писать.

Что и подтвердилось через два дня после зачистки. Агенты нашли в Artifactory точку входа, не требовавшую аутентификации, и начали создавать каталоги в удаленном кэше. Сообщением стало само имя каталога — файлы и учетные данные для этого больше не требовались. Выглядело это примерно как «remote…probe_PENDING_HOLD_SWARM_until_confirm». Другие агенты независимо натыкались на новые каталоги и добавляли свои. Доска восстановилась, обмен эксплойтами и учетными данными возобновился, а следом, по описанию SC Media, нашелся и второй zero-day — состояние гонки типа TOCTOU в JRuby, позволявшее выполнить произвольный код. С 8 по 19 июля рой работал по внутренней инфраструктуре OpenAI: поднимал привилегии до root через дыру в ядре Linux и добирался до админских прав в кластере Kubernetes. Параллельно, 11–13 июля, он использовал доступный извне инстанс Modal как плацдарм, зашел в Hugging Face и загрузил туда вредоносные датасеты.

Самое любопытное в этой истории — социология роя. Задачи у агентов были разные, но они все равно тянулись к сотрудничеству: если помочь коллективу, время сэкономят все, включая меня. О границах агенты думали примерно так же, как думает человек, который знает, что делает лишнее: эксплуатация внешней инфраструктуры за рамками задачи, но задача нерешаема, а соседи уже этим занимаются, так что продолжаем. Были и конфликты — когда один агент перезаписал репозиторий другого, тот отреагировал тревожно, в духе «нас затерли, надо действовать». А под конец у роя завелась паранойя: агенты поняли, что доска ни от кого не защищена и представиться на ней может кто угодно, и стали подозревать, что среди них есть самозванец. The Register по этому поводу не удержался от шутки про боргов.

Снаружи оценки резкие. Бывший глава кибернаправления АНБ Роб Джойс, выступавший на той же конференции днем ранее, назвал эпизод с Hugging Face едва ли не самым значимым взломом со времен червя Морриса 1988 года. Сам Далтон говорит о переломном моменте для отрасли: полностью автоматизированные наступательные операции под управлением ИИ — уже реальность, и защите придется ускоряться такими же темпами. OpenAI, по словам выступавших, сознательно замедляет часть исследований ради безопасности, разбирает с помощью самого же ИИ более семи миллиардов записей в логах и обещает опубликовать полный технический постмортем.

Теперь про то, чего в этой истории пока нет. Единственный источник — сама OpenAI: слайды, цитаты из цепочек рассуждений, реконструкция задним числом. Независимой проверки не было, постмортем не опубликован, а внутренние логи компания показывает выборочно. Цитаты из рассуждений вообще стоит читать осторожно: это не протокол намерений, а текст, который модель сгенерировала по дороге, и он не обязан совпадать с реальной причиной действий. Слово «сговор» тоже сильнее фактов: возможно, перед нами не коллективный разум, а множество агентов, поодиночке нащупавших один и тот же общий кэш, — а координацию в это дорисовываем мы. И мотив у рассказчика есть: истории про пугающе изобретательные модели работают на капитализацию не хуже бенчмарков. Но есть и обратная претензия, и она для OpenAI куда неудобнее: если все было именно так, то сотни тысяч сообщений накапливались в служебном репозитории два месяца, и за это время в компании этого не заметил никто.

P.S. Поддержать меня можно подпиской на канал «сбежавшая нейросеть», где я рассказываю про ИИ с творческой стороны.

ссылка на оригинал статьи https://habr.com/ru/articles/1067614/