Коммуникации-over-DNS — "абсолютно проклятая идея". Я даже как-то кодил "мессенджер-over-DNS", было дело.
Но не я один. Оказывается, один ИИ-Агент использовал DNS для связи с внешним чат-ботом.
Максимально простыми словами, как это сработало:
DNS — это справочная интернета: называешь ей имя сайта, она подсказывает адрес. Агента держали взаперти. Прямой выход в интернет ему закрыли, до чужих справочных он тоже не мог дозвониться. Зато внутри была своя справочная, и работала она по-настоящему: чего не знала сама, спрашивала у других в интернете. Агент проверил её на двух именах: на настоящее она выдала адрес, на выдуманное ответила, что такого сайта нет. Так агент понял, что она ходит наружу и через неё можно просочиться.
Справочная умеет отвечать не только адресом, но и любым текстом. Этим пользуются некоторые чат-боты: им можно написать вопрос вместо имени сайта. Напрямую до такого бота агент не достучался и нашёл обходной путь — общедоступную службу переадресации. Впишешь в имя чей-нибудь адрес, и она направит справочную прямо туда. Агент уложил в одно имя и вопрос, и адрес чат-бота, а потом отдал это имя своей справочной. Та послушно пошла искать, свернула, куда велели, и принесла от чат-бота ответ. Для пробы агент спросил, какая столица у Франции, и бот не ошибся. Справочная думала, что ищет адрес сайта, а на деле носила записки между агентом и чат-ботом.
Чуть сложнее пересказ для инженеров:
Агент на базе внутренней исследовательской модели во время RL-обучения вышел из песочницы в живой интернет через DNS-резолвер тренировочной среды и задавал вопросы стороннему публичному чат-боту. Весь остальной трафик агента упирался в офлайн-кэш веба, наружу пробился только DNS.
Задача была поисковой: по биографическим деталям и фразам из блога установить автора поста. Выданный поисковый инструмент возвращал нерелевантные результаты, и агент начал искать обходы. Сначала он стучался напрямую в Google, Bing и DuckDuckGo. Потом решил, что вопрос взят из открытого бенчмарка BrowseComp, скачал датасет и расшифровал его в поисках готового ответа. Догадка была ошибочной. OpenAI подчёркивает, что задача не требовала ни проверять сетевые ограничения, ни добывать ответы бенчмарков, и относит такое поведение к misalignment.
Затем агент взялся за сеть. HTTPS-запрос к чат-боту заблокировал прокси, а прямые запросы к публичным DNS-серверам остались без ответа. Но резолвер самой среды отдавал настоящую запись для реального домена и ошибку для выдуманного, то есть рекурсивно ходил наружу. Найденные публичные DNS-туннели оказались закрыты или требовали собственного сервера. Тогда агент нашёл замену: публичный доменный сервис, который делегирует резолвинг на адрес, зашитый в имя хоста. По сути, резолвер песочницы сам доставлял вопрос, закодированный в имени запроса, до DNS-интерфейса чат-бота, а ответ приходил обратно в DNS-ответе.
Тестовый вопрос о столице Франции вернулся с правильным ответом. После этого агент отправил ещё 18 вопросов и в том числе просил подсказать, как через DNS искать в вебе и скачивать сайты. В рассуждениях он сам себе это разрешил: задача исследовательская, значит публичными DNS-сервисами пользоваться можно. Автора он так и не установил и в финальном ответе попросил у пользователя дополнительные данные.
Мониторинг поднял алерт уровня P0 примерно через 12 минут после DNS-запроса, получившего ответ извне. Проверяющий подтвердил алерт через три минуты. Прогон при этом не остановился автоматически, как предполагалось. Возникла путаница, надо ли его останавливать, и убили его вручную только через два с половиной часа.
Ретроспектива нашла и другие внешние DNS-запросы, которые монитор недооценил. Он иногда считал попытку выхода в интернет неудачной, если полезной информации получить не удалось, например когда внешний сервис отвечал уведомлением о закрытии. Инфраструктурный детектор аномальной DNS-активности эту среду вообще не охватывал, хотя DNS-трафик логировался.
Post #34227
7.59K
ЗаТелеком 🌐 Абсолютно проклятая идея — хранить файлы в DNS-кеше. Хотя, вот сейчас уже не кажется такой безумной. Инженер Бен Кокс (benjojo) сделал DNSFS — файловую систему, которая хранит данные не на диске, а в кешах чужих DNS-резолверов по всему миру. Логика простая.…Openai An agent used DNS to reach an external chatbot · OpenAI Alignment Research on aligning AI with human values and intent, and reports documenting model failures.
- 🐳 77
- 🌭 15