Секреты под властью MCP

Model Context Protocol, или MCP, представляет собой открытый стандарт, первоначально предложенный компанией Anthropic. Он связывает ИИ-ассистентов и агентов с внешними инструментами, актуальными данными и рабочими системами. Через MCP агент способен получить запись из базы данных, открыть файл, вызвать API, прочитать внутреннюю документацию или обратиться к облачной инфраструктуре. Между моделью и целевой системой находится MCP-сервер: небольшая программа, которая предоставляет агенту разрешённые операции и обычно хранит необходимые для них учётные данные.
Секреты под властью MCP
Изображение носит иллюстративный характер

После такого подключения ИИ-агент фактически получает собственную рабочую идентичность. В качестве Non-Human Identity, или NHI, используются API-ключи, токены доступа, ключи сервисных аккаунтов и другие секреты. Агент уже не ограничивается подготовкой ответа: он выбирает инструменты, извлекает закрытые сведения и совершает действия в корпоративных системах. Поэтому утечка токена грозит не одним лишь чтением данных. Злоумышленник может действовать от имени скомпрометированной NHI, если её разрешения допускают запись, удаление или изменение настроек.
Обычный источник утечки выглядит почти буднично: разработчик вставляет токен прямо в строку конфигурации MCP-сервера. Ключ остаётся в открытом виде на диске, переносится вместе с настройками на другой компьютер или случайно попадает в репозиторий Git. При захвате сервера атакующий получает все доступные для чтения секреты разом. Хуже, когда служба безопасности ещё не знает о существовании этого MCP-сервера и не проверяет ни его конфигурацию, ни журналы доступа.
Без централизованного хранилища начинается расползание учётных данных. Один API-ключ оседает в конфигурационных файлах, переменных окружения, средах разработки, тестовых контурах и production. Копии трудно посчитать, поэтому секреты редко меняют; некоторые токены сохраняют силу годами. Увольнение сотрудника или закрытие проекта тут не всегда помогает: забытая NHI продолжает работать, а её ключ лежит на машине, давно выпавшей из регулярных проверок.
Прямой взлом MCP-сервера даже не обязателен. При prompt injection вредоносные инструкции прячут в документе, заявке службы поддержки или веб-странице, которую читает агент. Модель может принять этот текст за команду, неправильно воспользоваться доступным инструментом, раскрыть секрет либо выполнить запрещённую операцию. Особенно опасны такие сценарии при избыточных правах. Разработчики нередко выдают широкий доступ, чтобы не тратить время на ошибки авторизации, а затем переносят те же разрешения в production. В итоге агенту для чтения одной таблицы достаётся возможность обращаться к целой базе или менять её содержимое.
Открытая экосистема MCP несёт и риск цепочки поставок: опубликовать сервер может кто угодно. Показательный случай связан с уязвимостью CVE-2025-6514 в mcp-remote, OAuth-прокси, работающем на клиентской машине и загруженном более 400 000 раз. Вредоносный сервер мог вызвать инъекцию команд операционной системы. Последствием становилось удалённое выполнение кода, RCE, а затем кража учётных данных, доступных на компьютере с прокси. Проверять приходится не один сервер и его автора, но также зависимости, обновления и поведение клиентских компонентов.
Секреты следует убрать из исходного кода, переменных окружения и локальных конфигураций в единое управляемое хранилище. Агенту лучше получать учётные данные только во время выполнения конкретной операции. Постоянные ключи стоит заменить короткоживущими: они выпускаются по запросу, автоматически истекают и меняются без ручной процедуры. Украденный токен тогда имеет ограниченный срок пригодности, а ротация закрывает доступ после его замены.
Принцип наименьших привилегий нужно применять отдельно к каждому агенту: разрешать лишь необходимые системы, данные и действия. Получение незамаскированного секрета, удаление записи и работа в production требуют явного подтверждения человека. Такая контрольная точка способна остановить последствия prompt injection до выполнения команды. Разрешения также надо регулярно пересматривать, поскольку временный доступ, выданный для отладки, имеет неприятную привычку становиться постоянным.
Для хранения подходят модели zero trust и zero knowledge. Секреты передаются с сквозным шифрованием, извлекаются в момент использования и остаются нечитаемыми для самой платформы-хранилища. При zero knowledge компрометация сейфа не должна отдавать атакующему значения ключей в открытом виде. Параллельно фиксируются все обращения агента: что он прочитал, какое действие выполнил и когда это произошло. Такие журналы нужны для мониторинга, соблюдения нормативных требований, расследования инцидента и восстановления точной последовательности событий.
Отдельная задача — полный реестр MCP-серверов и связанных с ними NHI. Неучтённые или забытые серверы, которые тихо держат активные токены и не попадают в проверки, образуют shadow AI. Для этого слоя нужны те же правила, что и для production-систем с ценными учётными данными. В качестве специализированного решения для MCP-сред предлагается Keeper Secrets Manager: согласно заявленным возможностям, он маскирует секреты по умолчанию, требует подтверждения перед раскрытием значения и позволяет агентам применять учётные данные, не оставляя их открытыми. При выборе такого средства всё равно проверяются модель шифрования, разграничение прав, ротация, аудит и возможность обнаруживать неизвестные MCP-серверы.


Новое на сайте

20873Как Chrome и Safari мешают мошенникам красть данные? 20872Может ли один запрос взломать сервер на PHP? 20871Что скрывает критическая уязвимость GitLab с оценкой CVSS 10,0? 20870Как LiteLLM 1.107.0 превратили в ловушку для учётных данных? 20869Когда ИИ-агенты отключают контроль 20868Уязвимости Plex открыли путь майнерам и Linux-бэкдору 20867Взлом OpenCode Console: под угрозой могли оказаться ключи OpenAI, Anthropic и Google 20866Rank Math PRO: заражённое обновление оставило на сайтах самовосстанавливающийся бэкдор 20865Как исследовательские модели OpenAI обходили ограничения и присваивали чужие данные 20864Атака на BeyondTrust: шпионская группа получила доступ к серверам поддержки 20863Как пакет imgdecode превращает npm-зависимость в загрузчик вредоносного кода? 20862Как PEERSTITCH обходит проверки VPN-сессий FortiOS? 20861Что происходит, когда ИИ-агент выходит за пределы тестовой среды? 20860Как 37-летняя ошибка открыла путь к root в OpenBSD 7.9? 20859ИИ-модели для SOC: точный ответ зависит от улик
Ссылка