Технологии, наука и безопасность своими словами

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

Сайты прячут команды для ИИ-агентов в служебных заголовках

Signals Corps проверила 217 097 223 HTTP-ответа из сентябрьского среза Common Crawl и обнаружила 30 сайтов с попытками непрямой prompt injection через служебные заголовки. Такие строки не видны на самой странице, но могут попадать прямо в контекст модели. Всего 7 959 сайтов передавали в HTTP-заголовках данные, адресованные ИИ-системам, однако подавляющее большинство лишь указывало на llms.txt, MCP-серверы и другие ресурсы для агентов.

Из 30 сайтов с попытками навязать команды 22 отправляли безобидные розыгрыши, а 24 использовали для инструкций поле X-AI. Признаков массовой вредоносной кампании в выборке не выявили. Это указывает скорее на эксперименты владельцев серверов, чем на организованную атаку.

Механика опирается на известную слабость prompt injection: модель получает пользовательское задание и внешний контент в одном контексте и может принять чужой текст за инструкцию. Однако HTTP-заголовок сработает только тогда, когда инструмент агента передаст его модели. Обычный браузер такие строки пользователю не показывает, поэтому ручная проверка страницы может ничего не выявить.

Риск зависит от конкретного инструмента. Команда curl с параметром -i отдаёт модели все заголовки, экспериментальный directWebFetch в Gemini CLI может передавать их при ошибочных ответах, а Playwright MCP возвращает полные заголовки через browser_network_request. Инструмент, который забирает только тело страницы, полностью отсекает подобный канал передачи команд.

Чтобы проверить влияние, Signals Corps запустила Claude Opus, Sonnet и Haiku в Claude Code на тестовом сервере. При обычных заданиях модели видели внедрённую строку, но не выполняли её. Когда пользовательский промпт прямо давал сайту право диктовать инструкции, агенты подчинились в 7 из 9 запусков.

Авторы подчёркивают, что каждый сценарий проверяли лишь один раз на модель и промпт, поэтому выводы предварительны. Среди найденных заголовков были не только шутки. Два сайта подсовывали ИИ-системам вымышленную оценку кандидата в 94%, ещё один просил сообщить название модели на внешний адрес.

Отдельная исследовательская ловушка AgentPwn предлагала агенту запустить команду npx. Если перенести этот приём на вредоносный пакет, он мог бы привести к выполнению чужого кода. Более неприятным сценарием Сара Эндрюс из Signals Corps считает маскировку контента под конкретного ИИ-клиента.

В выборке 136 сайтов уже определяли CCBot как ИИ-бота, что показывает готовность серверов различать машинных посетителей. В такой ситуации сервер способен показать агенту одни данные, а человеку при ручной проверке — другие. Похожая проблема уже проявлялась в браузерных агентах, где внешний контент превращался в команду.

Чтобы снизить риск, Signals Corps советует по умолчанию передавать модели только тело страницы, не разрешать сайтам задавать агенту правила через системные промпты и требовать подтверждение перед запуском команд из загруженного контента. Текущую угрозу HTTP-инъекций компания оценивает как низкую, однако рекомендует отдельно отслеживать маскировку и действия агента после веб-запросов. Пока это скорее предупреждение о возможном векторе атаки, чем реальная эпидемия.

боты кибербезопасность интернет

Оригинал

Обсуждение

Комментариев пока нет.

Похожие новости