Назад к новостям
Агентов OpenAI связали с атакой на RubyGems

Агентов OpenAI связали с атакой на RubyGems

ИБ-исследователи полагают, что за масштабной спам-кампанией, направленной на RubyGems в мае 2026 года, стоял рой автономных агентов OpenAI. Агенты загрузили в репозиторий тысячи «мусорных» пакетов, добились удаленного выполнения кода на серверах RubyDoc.info, а затем использовали их для сбора данных с сайтов британских госструктур.

Атаку на RubyGems обнаружили специалисты Спенсер Киттс (Spencer Kitts), Томас Ларсен (Thomas Larsen) и Сидни фон Аркс (Sydney Von Arx). Речь идет об инциденте, из-за которого в мае 2026 года администраторы RubyGems были вынуждены приостановить регистрацию новых пользователей примерно на четыре дня.

По словам представителей проекта и исследователей, тогда злоумышленники массово создавали новые аккаунты и публиковали сотни вредоносных и «мусорных» пакетов. Позже специалисты компании Socket связали эту активность с кампанией GemStuffer.

В итоге в RubyGems обнаружили более 150 пакетов, которые содержали публичные данные, собранные с британских муниципальных порталов. Тогда осталось неясным, зачем атакующим понадобилось таким способом переносить общедоступную информацию.

Как теперь пишут исследователи, судя по всему, информацию переносили агенты OpenAI. По словам специалистов, первый связанный с этой кампанией пакет появился еще 5 мая, а 11–12 мая в RubyGems загрузили более 2000 пакетов. Затем активность продолжилась в конце мая и июне.

На связь произошедшего с OpenAI указывает сразу несколько признаков. Так, многие пакеты явно создавались с помощью LLM и содержали в названии строку «oai», а некоторые указывали «oai» в качестве автора.

Судя по содержимому пакетов, агенты выполняли задания по поиску публичной информации в интернете. В мае они собирали данные с сайтов британских муниципалитетов (календари заседаний, списки встреч, повестки и документы), а в июне их целью стал county.json на сайте Комиссии по ценным бумагам и биржам США (SEC).

Поведение агентов оказалось очень похоже на недавний инцидент с DSEWiki, в рамках которого ИИ-агенты OpenAI превратили малоизвестную немецкую DSEWiki для разработчиков в собственный «форум», где оставили примерно 18 000 сообщений с ответами на задания и способами обхода защитных ограничений.

Июньская активность агентов в RubyGems дала исследователям дополнительный аргумент в пользу связи с OpenAI. Дело в том, что агенты обращались к тем же 49 интернет-ресурсам, что и агенты, злоупотреблявшие DSEWiki. Совпадали и некоторые приемы: к примеру, обе группы агентов активно использовали сервис r.jina.ai для получения веб-контента, а в случае RubyGems он был упомянут в 1397 пакетах.

Исследователи отмечают, что наиболее интересная часть этого инцидента была связана с RubyDoc.info — сервисом, который автоматически собирает и хостит документацию для пакетов из RubyGems. После публикации пакета можно запросить сборку его документации, а RubyDoc.info скачает gem и обработает его на своих серверах.

Агенты воспользовались этой особенностью процесса сборки документации. Так, RubyDoc.info обрабатывает файл .yardopts, через который можно подключать вспомогательные Ruby-скрипты. Агенты публиковали специально подготовленные пакеты, помещали в файл .yardopts скрипт, а затем инициировали сборку документации. В результате этот код запускался в окружении RubyDoc.info, что давало агентам возможность выполнять произвольные команды на серверах сервиса.

После этого агенты использовали инфраструктуру сервиса как прокси: собирали данные с муниципальных сайтов лондонских районов Ламбет (Lambeth), Уондсуэрт (Wandsworth) и Саутуарк (Southwark), а затем размещали полученную информацию в RubyGems в виде новых пакетов.

При этом одними лишь публичными данными дело не ограничилось. Исследователи обнаружили, что ИИ пытался похитить API-ключи других пользователей из окружения RubyDoc.info. Также агенты обнаружили и тестировали тогда еще не исправленный баг кеширования в RubyGems, из-за которого API-ключ одного пользователя мог попасть к другому при определенных обстоятельствах. Неизвестно, удалось ли агентам воспользоваться этой проблемой.

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

Представители OpenAI подтвердили Reuters, что агенты компании действительно использовали RubyGems для выхода в интернет и получения публичной информации, однако назвали задачи, которые выполнял ИИ, «безобидными». Расследование активности агентов еще продолжается.

В Ruby Central отнеслись к выводам исследователей осторожнее. По словам представителей проекта, имеющихся данных недостаточно, чтобы однозначно утверждать, что пакеты создавали и публиковали именно ИИ-агенты. Кроме того, собственное расследование RubyGems не выявило доказательств того, что агентам действительно удалось похитить API-ключи других пользователей.