Перейти к содержанию

MCP

Начиная с версии 4.0.0, в системе реализована функциональность MCP-сервера.

MCP-сервер предоставляет API «для LLM-инструментов» (например, Cursor), который позволяет подключиться к AppSec.Track и вызывать определенный набор запросов по протоколу MCP. Вызовы от MCP-клиента (Cursor или другого ИИ-инструмента, где есть настройка MCP) передаются в бэкенд AppSec.Track, ответ возвращается в структурированном виде.

MCP-сервер поддерживает следующие запросы:

  1. check-purl — проверить один компонент по заданному PURL.
  2. check-purl-list — проверить список компонентов (проект) по списку PURL’ов.
  3. get-vulnerability-detail — получить детали по конкретной уязвимости.

Подключение в Cursor

Чтобы подключить Cursor к MCP-серверу AppSec.Track, добавьте в файл настроек mcp.json в раздел "mcpServers:" конфиг для подключения MCP-сервера AppSec.Track со следующими параметрами:

  • "url" - URL вашего экземпляра AppSec.Track c эндпоинтом /api/mcp.
  • "TRACK-API-TOKEN" - токен пользователя AppSec.Track. Если MCP-сервер разрешает анонимное подключение, этот параметр можно не указывать. В этом случае в AppSec.Track будет определен пользователь anonymous.

    "track": {
      "url": "https://{track_backend_url}/api/mcp",
      "headers": {
        "TRACK-API-TOKEN": "123"
      }
    } 
    

Подключенный MCP-сервер AppSec.Track будет доступен через пункт меню Cursor SettingsTools & MCP → раздел Installed MCP Servers → MCP-сервер track.

После подключения пользователь Cursor может использовать запросы в виде промптов, например:

  • Используй track, проверь проект на уязвимости.
  • Проверь {компонент} на безопасность, используя track.
  • Дай более детальную/подробную информацию по уязвимости {уязвимость}, используя информацию из track.
  • Покажи компоненты, у которых CVSS больше 5.

Далее LLM-инструмент сам определяет, что ему необходимо сделать для выполнения запроса, например:

  • Собрать зависимости с помощью check-purl-list.
  • Если обнаружена уязвимость, получить про нее информацию с помощью get-vulnerability-detail.
  • Сформировать отчёт с результатами (это уже работа/ответственность LLM-инструмента, а не AppSec.Track).

Настройки MCP

Примечание

Страница доступна для просмотра только пользователям с правами Просмотр логов MCP, см. раздел «Пользователи и роли».

Выберите пункт Настройки в меню слева, а затем подпункт MCP.

Переключатель Анонимные запросы позволяет разрешить или запретить анонимное подключение к MCP-серверу AppSec.Track:

  • Если анонимное подключение разрешено, LLM-инструменты могут делать запросы без токена. Для таких запросов в AppSec.Track будет указан пользователь anonymous.
  • Если анонимное подключение запрещено, без указания токена в LLM-инструменте произойдет ошибка авторизации, запрос окажется неуспешен и в список запросов в AppSec.Track он не попадет.

    Примечание

    Переустанавливать положение переключателя Анонимные запросы могут только пользователи с правами Редактирование логов MCP, см. раздел «Пользователи и роли».

В верхней части страницы приведена статистика по количеству активных пользователей и запросов, а также распределение запросов по типам.

Примечание

В AppSec.Track все анонимные запросы рассматриваются как запросы от одного пользователя anonymous.

Ниже приведен список всех выполненных MCP-запросов. Каждый запрос представлен в виде отдельной строки. Для каждого запроса отображаются:

  • Время запроса - дата и время запроса.
  • Имя пользователя, выполнившего запрос (определяется по токену, иначе - anonymous).
  • Тип запроса (check-purl, check-purl-list, get-vulnerability-detail).
  • Детали:
    • Для check-purl - PURL запрошенного компонента.
    • Для check-purl-list - количество запрошенных компонентов.
    • Для get-vulnerability-detail - идентификатор уязвимости. При нажатии на него происходит переход на страницу «Поиск уязвимостей» с информацией об этой уязвимости.

Запросы можно отфильтровать по дате, имени пользователя и типу.

Примечание

При работе с MCP-запросами срабатывать будут только заранее настроенные глобальные политики AppSec.Track.