API ВЕГА
English

CYBO Attest MCP server

CYBO Attest — консоль авторизации приложений, созданных с помощью конвейера cDSO (Community DevSecOps). MCP-сервер позволяет вам, вашим агентам и ботам работать с Attest через любой MCP-клиент: узнавать, что блокирует сборку, получать упорядоченный план устранения проблем, запускать сканирование и обосновывать выводы, которые нельзя исправить, пока сборка не будет одобрена к выпуску.

В этом репозитории описан сервер. Сам сервер размещён на Ulap — устанавливать ничего не нужно.

Адрес сервера: https://attest.ulapcybo.app/mcp (Streamable HTTP)

Название в реестре: app.ulapcybo/attest

Документация: Подключение AI-агента

Возможности

  • Состояние безопасности. Результаты последнего сканирования каждого контейнера: вердикт, не пройденные контрольные условия, причина блокировки и дальнейшие действия.

  • Планы исправления. Для выбранной сборки — упорядоченный план: одобренный тег базового образа, на котором следует выполнить пересборку, версии пакетов, до которых нужно обновиться, и проблемы, которые необходимо устранить. Также доступен журнал неудачного задания.

  • Результаты проверок. Полная информация о каждом результате, строка манифеста и команды для исправления уязвимого пакета, а также ответы Explainable AI о том, что этот результат означает для вашего приложения.

  • Сканирование. Запуск сканирования приложения, пошаговое отслеживание сборки и проверок, просмотр свидетельств от каждого сканера и журналов заданий.

  • Приложения. Добавление репозитория GitHub, синхронизация приложения с последними коммитами его репозитория, использование исправленного Attest Dockerfile и отправка версии на проверку.

  • Обоснования. Создание и редактирование обоснования для результата, который нельзя исправить, а затем его отправка с указанием причины, которую сможет проверить специалист по оценке мер безопасности.

Решение об одобрении или отклонении сборки по-прежнему принимает специалист по оценке мер безопасности в консоли. Ни один инструмент не может принять такое решение.

Перед началом работы

Вам понадобится учётная запись CYBO Attest: https://attest.ulapcybo.app. MCP-сервер выполняет вход через OAuth в браузере. Все инструменты действуют от вашего имени и с учётом назначенных вам ролей: они могут делать только то, что доступно вам в консоли, и не более того. Каждое изменение фиксируется с указанием вашего имени и использованного клиента.

Настройка клиента

VS Code с GitHub Copilot

Добавьте сервер в .vscode/mcp.json в рабочей области (или в пользовательскую конфигурацию MCP):

{
  "servers": {
    "cybo-attest": {
      "type": "http",
      "url": "https://attest.ulapcybo.app/mcp"
    }
  }
}

Запустите сервер из файла или списка MCP-серверов, затем войдите в систему, когда VS Code откроет браузер. Используйте инструменты в Copilot Chat в режиме агента.

Claude Code

claude mcp add --transport http cybo-attest https://attest.ulapcybo.app/mcp

Затем выполните /mcp в Claude Code и выберите CYBO Attest, чтобы войти в систему.

Другие клиенты

К серверу можно подключиться из любого MCP-клиента, который поддерживает Streamable HTTP и OAuth: https://attest.ulapcybo.app/mcp. Сервер публикует данные для входа по адресу https://attest.ulapcybo.app/.well-known/oauth-protected-resource/mcp, поэтому клиент находит их автоматически.

Использование

Формулируйте запросы обычным языком. Например:

  • «Что блокирует мои приложения в CYBO Attest?»

  • «Составь план исправления для последней сборки моего тестового приложения, а затем исправь Dockerfile и зависимости».

  • «Объясни этот результат и скажи, можно ли его исправить или нужно обосновать».

  • «Запусти сканирование ещё раз и сообщи, когда оно завершится».

  • «Подготовь черновик обоснования для этого результата, чтобы я мог его отредактировать».

Рекомендуемый порядок действий: используйте get_security_posture, чтобы узнать, что заблокировано, затем plan_fixes для выбранной сборки; исправьте код, запустите start_scan и отслеживайте ход проверки с помощью get_application_progress, пока сканирование не завершится. Обосновывайте результат только в том случае, если его нельзя исправить.

Инструменты

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

Просмотр данных

ИнструментОписание
whoamiИнформация о пользователе, выполнившем вход
get_security_postureРезультаты последнего сканирования каждого контейнера: вердикт, не пройденные контрольные условия, причина блокировки и дальнейшие действия
plan_fixesУпорядоченный план исправления выбранной сборки
list_applications, get_applicationВаши приложения, их компоненты и источники
list_intake_applicationsПриложения, подготовленные для вас в Attest
get_application_progressПоследняя сборка и сканирование с пошаговым описанием
get_application_configКонфигурация cDSO, зафиксированная Attest
get_dockerfile_fixВаш Dockerfile и исправленный вариант от Attest
list_authorization_candidatesВерсии, которые можно отправить на авторизацию
get_github, list_github_repositoriesСведения о подключении GitHub и доступных репозиториях
list_justificationsДействующие и отозванные обоснования
console_linkСтраница консоли для действий, доступных только в ней
list_scans, find_scans, get_scanСканирования, их этапы, контрольные условия и вердикты
list_findings, get_finding, get_finding_changeРезультаты проверок и способы исправления уязвимых пакетов
explain_finding, draft_justificationОбъяснение результата с помощью Explainable AI и черновик обоснования
explain_gate, explain_gate_controls, explain_job, explain_assessmentОбъяснения с помощью Explainable AI для контрольных условий, связанных с ними мер, неудачных заданий и оценки влияния сканирования
list_scan_runs, list_scan_jobs, get_scan_job_logЗапуски конвейера, задания и журналы
list_base_images, list_base_image_tagsОдобренные базовые образы и их теги
get_scan_evidence, get_scan_artifact, get_scan_sourceЗаписи сканеров, опубликованные файлы и файлы отсканированного репозитория
get_decision, get_review, get_review_summaryРешения и проверка специалиста по оценке мер безопасности

Изменение данных

ИнструментОписание
start_scanЗапуск сканирования приложения
choose_dockerfile, use_fixed_dockerfileВыбор Dockerfile или сборка с исправленным вариантом от Attest
add_github_repositoryДобавление репозитория GitHub в качестве приложения
sync_applicationСинхронизация приложения с последними коммитами его репозитория
retry_provisioningВозобновление неудачного предоставления приложения
request_authorizationДобавление тега к версии и отправка её на проверку
propose_justification, withdraw_justification, apply_justificationsОбоснование результата, отзыв обоснования и повторная фиксация обоснований
remove_applicationУдаление приложения (клиент сначала запросит подтверждение)

Кроме того, сервер предоставляет два промпта — fix_blocking_findings и security_posture_report — и два ресурса: контракт API и справочник по сканерам, контрольным условиям и терминам.

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

  • Токены для чтения репозиториев не передаются инструментам и поэтому не попадают в модель. Вводите их только в консоли.

  • При каждом вызове проверяются токены с учётом вашей организации и ролей.

  • Конфиденциальность: https://ulapcybo.app/privacy

Поддержка

Вопросы и запросы на предоставление доступа: contact@ulap.co