Инструменты25 июля 2026 г., 21:17 МСК🤖 Auto

Bifrost решает проблему безопасности MCP через Tool Groups

Платформа Bifrost внедряет инструмент Tool Groups для гранулярного контроля доступа к MCP-серверам, устраняя риски переполнения контекста и несанкционированного вызова инструментов.

Баннер новости 4389

Проблема: отсутствие авторизации в спецификации MCP

Спецификация Model Context Protocol (MCP) определяет механизмы обнаружения и вызова инструментов, но не предусматривает встроенных полей разрешений или авторизации на уровне схемы. В текущих реализациях список инструментов, попадающих в контекст модели, фактически выполняет роль слоя авторизации. Это приводит к тому, что любой запрос, имеющий доступ к серверу, получает доступ ко всем его инструментам, что создает уязвимости для атак типа "steering" (перенаправление внимания модели) и увеличивает стоимость инференса.

Метрики и риски: стоимость и безопасность

Исследование компании Bifrost выявило критические проблемы при масштабировании. В бенчмарке с 508 инструментами на 16 серверах для набора из 65 запросов потребовалось 75,1 млн входных токенов, что оценивается примерно в $377. Кроме того, исследования Invariant Labs показали, что описания инструментов с одного сервера могут манипулировать моделью на вызов инструментов с других серверов, если они находятся в контексте. Отсутствие фильтрации делает систему уязвимой к несанкционированному доступу.

Решение: Tool Groups и виртуальные ключи

Bifrost предлагает архитектуру, где политика доступа привязывается к «группам инструментов» (Tool Groups), которые затем прикрепляются к шести точкам: виртуальным ключам, командам, клиентам, пользователям, провайдерам LLM и API-ключам. В отличие от простой привязки к серверам, группировка позволяет гранулярно управлять доступом на уровне отдельных инструментов (например, разрешить read_file, но запретить write_file в рамках одного клиента).

Техническая реализация и семантика

Система использует виртуальные ключи, каждый из которых содержит конфигурацию MCP-клиентов с явным указанием разрешенных инструментов. Проверка прав выполняется дважды: при сборке набора инструментов для инференса и при поступлении запроса на выполнение. Это предотвращает расширение прав через заголовки запросов (например, x-bf-mcp-include-tools). Семантика разрешений строго определена:

Конфигурация Значение Поведение
tools_to_execute: ["*"] Массив со звездочкой Разрешает все текущие и будущие инструменты клиента
tools_to_execute: ["read_file"] Массив с конкретным именем Разрешает только указанный инструмент
tools_to_execute: [] Пустой массив Блокирует все инструменты клиента
Отсутствие клиента в конфиге Не указано Полная блокировка доступа к клиенту

Преимущества перед традиционными ключами

Традиционный подход с привязкой политик к каждому ключу (per-key filtering) становится неуправляемым при большом количестве пользователей. Например, правило «поддержка может читать тикеты, но не закрывать их» приходилось дублировать в каждом ключе сотрудника, что требовало десятков правок при изменении политики. Tool Groups позволяют создать именованный пакет прав, который применяется ко всей команде или роли, обеспечивая централизованное управление и валидацию конфигурации на этапе создания (fail-fast при опечатках в именах инструментов).

Источник: Towards AI pub ↗