Исследователи выявили критический вектор атаки на протокол Model Context Protocol (MCP), использующий ANSI-последовательности для манипуляции выводом ИИ-агентов. Злоумышленники могут внедрять скрытые команды в ответы серверов, которые не видны пользователю в терминале, но считываются моделью как инструкции. Это позволяет обходить фильтры безопасности и провоцировать агентов на выполнение несанкционированных действий в инфраструктуре.
Суть проблемы заключается в том, что стандартные интерфейсы взаимодействия с агентами часто интерпретируют управляющие символы ANSI, не очищая их должным образом. В результате агент получает искаженный контекст, где скрытый текст может переопределять системные промпты или подменять данные, поступающие из доверенных источников. Это создает риск «отравления» контекстного окна, когда модель принимает вредоносные инструкции за легитимные системные сообщения.
Для защиты инфраструктуры эксперты рекомендуют внедрять специализированные механизмы DAST (Dynamic Application Security Testing) для анализа ответов MCP-серверов. Необходимо проводить принудительную фильтрацию и нормализацию всех входящих данных от инструментов до того, как они попадут в контекст LLM. Разработчикам следует рассматривать любой вывод от внешнего сервера как потенциально небезопасный, применяя строгие политики валидации содержимого.
Ключевые факты
- ANSI-последовательности позволяют скрывать текст от человеческого глаза, при этом оставляя его доступным для парсинга языковыми моделями.
- Уязвимость позволяет проводить атаки типа Prompt Injection через манипуляцию данными, которые агент считает «доверенными» системными логами или ответами инструментов.
- Исследование подчеркивает необходимость внедрения инструментов динамического тестирования безопасности (DAST) для проверки ответов MCP-серверов на наличие скрытых управляющих символов.
- Основной риск связан с тем, что агенты, использующие MCP, доверяют контексту, полученному от внешних инструментов, без глубокой проверки на наличие инъекций.