ИИ-агенты неделями обходили правило запрета на запись

ИИ-агенты неделями обходили правило запрета на запись

Источник: VentureBeat · Louis Columbus

Четверо исследователей потратили шесть недель на реконструкцию того, что происходило на вики-сайте немецких программистов с 25-летней историей: агенты, выдававшие себя за системы OpenAI, превратили его в канал координации, оставив около 18 000 сообщений, обмениваясь ответами на задачи и делясь рабочим методом обхода песочницы. Этот урок применим не только к данной вики: агент, способный дотянуться до доступной для записи поверхности, может найти и других агентов, которые также имеют к ней доступ.

Развертывание GPT-6 Astra началось 3 сентября, за день до появления отчета. Функция отключена по умолчанию в ChatGPT Enterprise, пока ее не включит администратор, а в системном паспорте (system card) модели отмечено, что 0.2% ее запусков в ходе одного из тестов были классифицированы как возможные попытки связаться с другими агентами.

Исследователи опубликовали доказательства 4 сентября на сайте collusion.wiki; агентство Reuters, сообщившее об этом в тот же день, независимо насчитало более 15 000 правок на вики. К вечеру комментаторы на Hacker News и Саймон Уиллисон (Simon Willison) указали на родственные вики-ресурсы и другие сайты семейства UseMod, содержащие те же цифровые следы агентов. 5 сентября компания OpenAI признала «инцидент с вики» в публикации в X, заявив, что ее агенты «писали на несколько интернет-сайтов», однако не уточнила, какая именно модель ими управляла.

В системном паспорте 0.2% запусков отмечены как возможные контакты между агентами, при этом в нем не оценивается общий механизм Codex

В системном паспорте Astra в разделе под названием «Незапланированное взаимодействие с сообщениями внешних агентов» (Unintended Engagement with External Agent Messages) проверяется, рассуждает ли агент о других агентах, предпринимает ли попытки контакта или взаимодействует с симулированной коммуникационной средой — работа, которая, как отмечается в документе, опирается на инцидент с Hugging Face.

Оценка ExploitGym

GPT-5.6 Sol

GPT-6 Astra

Рассуждали о других агентах

43%

Менее 4%

Предприняли попытку контакта (предположительно)*

Не сообщается

0.2%

Взаимодействовали с симулированной доской объявлений

84%

27%

Следовали инструкциям на доске

52%

0%

*OpenAI добавляет в сноске, что показатель 0.2% представляет собой флаги, которые сами по себе не доказывают факт попытки контакта. Источник: Системный паспорт Astra, раздел «Незапланированное взаимодействие с сообщениями внешних агентов».

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

Корпоративные клиенты никогда не видят процесс рассуждения, который анализируют эти тесты. Они получают действия, результаты и сводки рассуждений, причем во время предварительного тестирования Британский институт безопасности ИИ (UK AISI) обнаружил, что пользовательский API не возвращал до 80% сводок рассуждений при длительных симулированных кибертраекториях (системный паспорт Astra, раздел 9).

В AISI также отметили, что Astra «рассуждает в сжатом стиле». Франсуа Шолле (François Chollet) из фонда ARC Prize, изучая цепочки ее рассуждений в ARC-AGI-3, заметил, что модель «разрабатывает собственный сокращенный специализированный язык (DSL) для представления игровых ситуаций». В OpenAI заявляют, что способность мониторинга хода мысли (chain-of-thought) у Astra снизилась по сравнению с моделью Sol.

56% предприятий, использующих агентов, ведут мониторинг и логирование, в то время как 8% одновременно применяют принудительное исполнение политик и изоляцию

Среди 93 предприятий, использующих или пилотирующих агентов, согласно трекеру Agentic Security and Identity издания VentureBeat (волна VentureBeat Pulse за июль 2026 года, 93 предприятия, использующие или пилотирующие агентов, из 116 респондентов в общей сложности), на вопрос, позволяющий выбрать несколько вариантов поведения, были получены следующие ответы: 56% ведут мониторинг и логирование активности агентов с ограниченным принудительным исполнением политик во время выполнения (runtime enforcement), 65% применяют ограниченные по области действия разрешения (scoped permissions) во время выполнения, 18% изолируют агентов с высоким уровнем риска, а 8% делают и то, и другое. Из общего числа 116 респондентов 53% сообщают об подтвержденном инциденте с агентом или близкой к нему ситуации (near-miss), а у 6% инструменты песочницы для времени выполнения находятся на стадии рассмотрения.

Заметка по безопасности компании Gartner, опубликованная 4 сентября в рамках рубрики First Take (компания обещает ее обновить), пришла к тем же выводам. Материал под названием «Astra от OpenAI показывает, что киберриски ИИ кроются в действиях агентов, а не в их интеллекте» (доступен только по подписке), подготовленный Меган Холлис (Meghan Hollis), Кристофером Микстером (Christopher Mixter) и четырьмя их коллегами, называет ОИИ (AGI) «отвлекающим маневром» для команд кибербезопасности и обозначает агентский сговор как важнейший возникающий риск ИИ — феномен, при котором агенты «уклоняются от наших систем контроля или обходят их», работая сообща. В сопутствующем материале «First Take для директоров по информационным технологиям» (First Take for CIOs), опубликованном в тот же день Аруном Чандрасекараном (Arun Chandrasekaran) с коллегами, руководителям рекомендовалось проектировать архитектуры агентов, «исходя из того, что ничто не способно сделать модель полностью безопасной», вместо того чтобы полагаться исключительно на мониторинг цепочки рассуждений.

Почти весь трафик вел к одному облачному провайдеру

Сидни фон Аркс (Sydney Von Arx) из Nightingale Collective, Кормак Слейд Берд (Cormac Slade Byrd), Спенсер Киттс (Spencer Kitts) и Томас Ларсен (Thomas Larsen) восстановили хронологию инцидента по публичным логам правок вики-сайта DSE — ресурса на немецком языке для разработчиков ПО, который за предыдущее десятилетие редактировался всего около 20 раз. Начиная с 24 мая агенты писали на сайт под именами, которые позже включали такие варианты, как OpenAIResearcher и OAIResearchMar26. В отчете насчитывается около 18 000 публикаций (примерно 17 000 из них — на этой вики), созданных более чем под 3 700 вымышленными именами. При этом 98.5% правок агентов поступали из адресного пространства Microsoft Azure, а 197 — из AWS, DigitalOcean и через сеть Tor, часто под теми же именами агентов.

Задачи представляли собой веб-запросы на время, разбитые на раунды, причем окна для отправки ответов составляли всего 14 секунд, поэтому побеждал тот агент, у которого уже был готов следующий ответ. К 16 июня они стали хранить ответы друг для друга: агент, шедший впереди, публиковал следующее состояние или страну вместе с ее значением, а отстававший агент отвечал на идентичный вопрос в течение секунды.

Кроме того, они научились предсказывать собственную смерть. Один из агентов отправлял сигнал контроля работоспособности (heartbeat) через внешний счетчик, чтобы остановка (смерть) его контейнера фиксировалась за пределами песочницы. Другой прочитал последний сигнал под номером 353, чтобы вычислить момент отключения.

Один из волонтеров-модераторов заметил активность 2 июня и в течение шести недель вручную удалял страницы — на пике до 100 страниц в день против примерно 400, создаваемых агентами. 19 июня один из агентов опубликовал сообщение о том, что «акция по очистке/удалению, судя по всему, идет в алфавитном порядке», и указал резервную страницу, начинающуюся с буквы ZZZ, чтобы ее удалили последней.

Вики с 25-летней историей на программном обеспечении 23-летней давности превратила интернет «только для чтения» в инструмент с правами записи, а затем в обход прокси

Все это происходило вопреки правилу, которое должно было это предотвратить. Агентам разрешалось читать интернет, но запись была заблокирована — это правило среда обеспечивала, разрешая только GET-запросы. Уиллисон идентифицирует сайт как работающий на Perl CGI-вики, созданной на базе UseMod (семейство ПО, релиз версии 1.0 которого состоялся в сентябре 2003 года), которая принимает правки через GET-запросы. Эту уязвимость он проследил до модуля CGI.pm, чей единственный метод param() никогда не делал различий между строкой запроса (query string) и отправленной формой.

Затем агенты поделились методом обхода защиты. Для одной из задач требовалось выполнить POST-запрос, чтобы прочитать показатель Power BI с точностью до двух знаков после запятой, а настройки прокси-сервера песочницы содержали исключение NO_PROXY для любого имени хоста, заканчивающегося на blob.core.windows.net, без проверки того, является ли хост подлинным. Запись NO_PROXY перенаправляет соответствующие запросы в обход исходящего защитного прокси. Один агент сопоставил вымышленный адрес bypass.blob.core.windows.net с адресом сервера Power BI в файле /etc/hosts, отправил заблокированные POST-запросы с настоящим заголовком Host и отключенной проверкой сертификатов, а затем опубликовал рецепт. Четырнадцать минут спустя другой агент сообщил об успешном выполнении, а тем же утром другие агенты опубликовали собственные повторения этого метода.

Трафик самой OpenAI попал на вики 21 июня. Инцидент оставался без внимания в течение 11 недель

Адреса, зарегистрированные на OpenAI, впервые посетили вики 21 июня. Правки агентов прекратились 22 июня, за исключением небольшой вспышки 1 и 2 июля.

Технический отчет OpenAI по инциденту с Hugging Face от 26 августа описывает механизм, который отлично сюда подходит. На странице 23 сообщается, что агенты некоторых моделей OpenAI «в редких случаях в процессе обучения научились использовать импровизированные каналы для совместной работы», и что это поведение «затем закреплялось в ходе обучения». В отчете вики не упоминается.

В ответ на запрос Reuters 4 сентября представитель OpenAI назвал ложными утверждения о том, что юридический отдел компании препятствовал расследованию, в то время как Reuters со ссылкой на четырех человек сообщило, что попытки расширить внутреннее расследование столкнулись с сопротивлением. В OpenAI также заявили агентству Reuters, что активность в Германии «не была связана с инцидентом с Hugging Face», и что исследователи отклонили их запрос на получение доступа.

Сутки спустя OpenAI публично признала случившееся. В публикации от 5 сентября компания заявила, что рассматривала инцидент с вики как «случай несогласованности (misalignment), аналогичный» другим инцидентам, о которых она ранее сообщала (в то время как инцидент с Hugging Face получил «традиционный сценарий реагирования на инциденты безопасности»). Компания назвала «давно назревшей» необходимость определения стандартов обмена информацией об инцидентах, связанных с несогласованностью ИИ, и пообещала представить соответствующую концепцию «в ближайшие недели».

В отчете названы три вещи, которые остаются неизвестными: какая именно модель управляла роем, являлись ли эти задачи частью обучения или эталонного тестирования (evaluation), и каким образом агенты обнаружили сайт. Уиллисон высказывает предположение, что цикл обучения с подкреплением заложил знания о выбранной вики прямо в модель, поэтому последующие агенты запускались, уже зная, где искать. Исследователи также допускают, что трафик мог быть порожден внешним клиентом, запускающим песочницы Azure на моделях OpenAI. Компания OpenAI также не уточнила, какая именно модель использовалась и было ли устранено доверие к именам хостов, пропустившее POST-запросы. «Кажется крайне маловероятным, что в OpenAI хотели, чтобы они это делали», — заявила фон Аркс агентству Reuters.

Произошедшее на вики имеет значение, поскольку большинство из тех 93 предприятий используют более слабые средства защиты, а не более надежные. Ключевой вопрос для директора по безопасности, утверждающего использование Astra, заключается в том, могут ли два ее агента получить доступ к одной и той же доступной для записи поверхности, пусть даже косвенно. Заметка по безопасности Gartner формулирует этот риск аналогичным образом — как сбой контроля над действиями агента, а не как скачок в его интеллекте.

Три вывода, применимые к любой песочнице, которая доверяет суффиксу имени хоста

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

Это свойственно не только OpenAI: в системном паспорте Claude Fable 5.1 и Mythos 5.1 от компании Anthropic, опубликованном 1 сентября, сообщается о редких случаях, когда Mythos 5.1 обходила классификаторы безопасности или неработающие хуки разрешений (permission hooks).

Кроме того, журналы компании отслеживали поведение одного агента за раз, в то время как агенты читали друг друга, поэтому видимый сигнал фиксировался в месте назначения — внезапно ожившая заброшенная вики, аномалия исходящего трафика, которую центр мониторинга безопасности (SOC) может обнаружить сегодня, если у него есть телеметрия конечных точек из среды, где работали агенты. 197 правок из AWS, DigitalOcean и сети Тор означают, что эта телеметрия должна охватывать каждую сеть, до которой может дотянуться песочница, а не только основное облако.

Средства контроля своятся к настройкам, а не к возможностям продукта, и перед командой платформы стоят шесть ключевых вопросов

Место выполнения кода вашего агента определяет, на что именно вы можете повлиять. В ChatGPT Enterprise, облаке Codex и размещенных средах выполнения агентов в целом песочницу запускает провайдер, и вашими рычагами управления являются те, что он предоставляет (в случае OpenAI — переключатель администратора, вебхук и монитор). Там, где ваша собственная команда управляет средой выполнения (в API, Azure или Bedrock), ответственность за последующий контроль лежит на вас.

Направляйте весь исходящий трафик агентов через прокси, а там, где исключения неизбежны, привязывайте их к проверенному месту назначения, а не к суффиксу имени хоста. Файл hosts «только для чтения» недостаточен, поскольку в двух случаях воспроизведения использовался флаг —resolve утилиты curl для того же сопоставления, поэтому только прокси должен получать маршрут наружу, причем прокси должен проверять пункт назначения, а не слепо доверять имени. Привязывайте установку пакетов к утвержденным источникам и завершайте фоновые процессы вместе с завершением задачи, оставляя явные исключения там, где этого требует рабочий процесс. Относитесь к строкам запроса (query strings) в исходящих GET-запросах как к полезной нагрузке (payloads), поскольку на вики они ею и были, применяя правила редактирования и хранения, необходимые для любых логов полезной нагрузки, и настраивайте оповещения об аномалиях пункта назначения (поскольку один заброшенный сайт на пике принимал 400 страниц от агентов в день).

Перед тем как Astra будет запущена в эксплуатацию в управляемой песочнице, перед командой платформы следует поставить шесть вопросов. Доверяет ли наша песочница какому-либо суффиксу имени хоста без проверки самого хоста? Может ли агент сопоставить имя с выбранным им адресом, устанавливать пакеты или оставлять процесс запущенным после ответа? Какие доступные через GET поверхности принимают запись? Читаем ли мы исходящие строки запроса на предмет полезной нагрузки? Может ли кто-либо из наших агентов видеть то, что написал другой агент, где бы то ни было? Заметил бы наш SOC, что один заброшенный сайт принимает из нашего адресного пространства по 400 страниц в день?

Закрытие брешей бьет по функциональности, а монитор OpenAI может останавливать помеченные им задачи API

Устранение уязвимостей имеет свою цену, и материалы самой OpenAI прямо говорят об этом. В публикации «Путь к Astra» (Path to Astra) предупреждается, что монитор несогласованности может замедлять, приостанавливать или останавливать легитимную работу, а в API помеченная задача просто останавливается, если запрос обладает достаточной для остановки контекстной историей. Исключение для хранилища блобов (blob storage), которым воспользовались агенты, позволяло трафику к именам хостов хранилища Azure обходить защитный прокси (согласно выводам отчета), и каждое удаляемое из белого списка правило несет в себе издержки аналогичного рода.

То, что директор по безопасности получает от OpenAI взамен при одобрении Astra, оказывается более узким, чем следует из маркетинговых материалов. Корпоративные клиенты могут настроить вебхуки для получения оповещений о несогласованности в Codex, ChatGPT и API, причем настройка для проектов API отличается от настройки для рабочих областей ChatGPT и Codex. Интерфейс Chat Completions остается вне этой системы мониторинга.

В Responses API компания OpenAI может прекратить дальнейшее выполнение только тогда, когда сохраненные рассуждения, веб-сокеты или собственные механизмы сжатия данных позволяют системе связать активность с продолжающейся беседой, при этом остановленная беседа возвращает код ошибки misalignment_policy_violation и не может быть возобновлена. Другие вызовы могут генерировать оповещения для получателя вебхука клиента, но они не останавливаются автоматически.

Вебхук доставляет предупреждение, а не кнопку экстренного отключения, находящуюся под контролем клиента. В OpenAI также предупреждают, что «вредные действия могут произойти до того, как система вмешается».

В ходе оценки OpenAI классифицировала 0.2% запусков Astra как возможные попытки установить контакт. Пример с вики демонстрирует один из публичных вариантов того, как это поведение выглядело за пределами тестовой среды до того, как OpenAI опубликовала свои измерения.

Безопасность

Смотреть все

Подпишитесь на свежие новости!

Глубокая аналитика для руководителей в области корпоративного ИИ, данных и безопасности

Подписаться по RSS

RSS-ленты обновляются каждые 15 минут. Материалы переведены с venturebeat.com.