Автоматизация устранения уязвимостей с помощью Atlassian Rovo Dev и Ключ-АСТРОМ

Материал из Документация Ключ-АСТРОМ

Автоматизация устранения уязвимостей с помощью Atlassian Rovo Dev и Ключ-АСТРОМ

Предварительная версия

Обзор

Ключ-АСТРОМ помогает командам разработки сосредоточиться на главном, проверяя уязвимости с учётом контекста среды выполнения и оптимизируя устранение через Atlassian Rovo Dev. Этот сценарий демонстрирует, как приоритизировать и устранять уязвимости, влияющие на продуктивные приложения, с бесшовной интеграцией с Jira для управления тикетами и Bitbucket для создания pull request. Поддерживаются два пути реализации в зависимости от того, где вы хотите выполнять сортировку и запускать исправления — оба основаны на Ключ-АСТРОМ MCP и интеграциях Atlassian.

Задача

Сканеры уязвимостей обнаруживают сотни высоких и критических CVE в зависимостях приложений, но им не хватает контекста среды выполнения. Не зная, какие библиотеки фактически загружены или какие пути кода выполняются в продуктивной среде, разработчики сталкиваются с трудным выбором: пытаться исправить каждую уязвимость, тратя ценное время на проблемы, не влияющие на продуктив, или приоритизировать наугад и рисковать пропустить уязвимости, которые действительно затрагивают критически важные для бизнеса сервисы.

Это отсутствие контекста создаёт усталость от оповещений и замедляет устранение. Командам нужен способ сосредоточиться на уязвимостях, которые подтверждённо влияют на продуктив, уверенно откладывая те, что не представляют реального риска.

Решение

Ключ-АСТРОМ интегрируется с Atlassian Rovo Dev через Model Context Protocol (MCP), обогащая опыт разработчика контекстом среды выполнения и валидацией Аналитики уязвимостей среды выполнения (RVA). Это позволяет Rovo Dev предпринимать целевые действия прямо из IDE:

  • Подтверждённые уязвимости приоритизируются для устранения: Rovo Dev запрашивает у Ключ-АСТРОМ уязвимости, подтверждённые в среде выполнения, гарантируя, что разработчики сосредоточены на проблемах, которые действительно влияют на продуктив.
  • Интеллектуальное управление тикетами: Rovo Dev создаёт тикеты Jira для подтверждённых обнаружений, автоматически проверяя наличие дубликатов перед созданием, и обновляет тикеты по мере устранения.
  • Сквозной рабочий процесс устранения: от обнаружения уязвимости до исправления кода, создания pull request и обновления тикета — всё без выхода из IDE.

Это снижает шум и усилия разработчиков, гарантируя устранение только relevant уязвимостей, сохраняя полную прослеживаемость в Jira.

Вы можете реализовать это решение двумя способами в зависимости от того, где вы хотите сортировать уязвимости и запускать устранение:

  • Рабочий процесс на основе IDE/CLI: использует Rovo Dev в IDE или Rovo Dev CLI в качестве основной точки взаимодействия, подключённой к MCP-серверу Ключ-АСТРОМ. Разработчики взаимодействуют с Rovo Dev для запроса уязвимостей, применения исправлений, создания pull request в Bitbucket и управления тикетами Jira.
  • Рабочий процесс, управляемый Ключ-АСТРОМ: использует Рабочие процессы в качестве триггера и движка обработки, с автоматическим созданием тикетов Jira. Затем разработчики используют Rovo Dev для получения тикетов, применения исправлений и завершения цикла устранения.

Предварительные требования

Ниже приведены требования для Atlassian и Ключ-АСТРОМ.

Atlassian

  • Имейте доступ к экземпляру Jira Cloud вашей организации.
  • Установите расширение Atlassian (VS Code, JetBrains IDEs) в вашей IDE.
  • Установите Atlassian Rovo Dev в вашей IDE.
  • Создайте токен API Atlassian для аутентификации со следующими разрешениями проекта:
    • Просмотр проектов
    • Создание проблем
    • Редактирование проблем
    • Переходы проблем
    • Добавление комментариев
    • Связывание проблем
  • Настройте Bitbucket или любой другой репозиторий Git с доступом на запись в вашей IDE (требуется для того, чтобы Rovo Dev мог фиксировать изменения кода и создавать pull request от вашего имени). Убедитесь, что ИИ-агент имеет разрешения на отправку в ветки и открытие PR.
  • Настройте Rovo Dev с интеграциями Jira и Bitbucket.

Ключ-АСТРОМ

  • Настройте мониторинг с помощью ЕдиныйАгент для продуктивных сервисов.
  • Включите Аналитику уязвимостей среды выполнения.
  • Создайте токен платформы Ключ-АСТРОМ со следующими разрешениями:
    • mcp-gateway:servers:invoke
    • mcp-gateway:servers:read
    • davis-copilot:conversations:execute
    • davis-copilot:nl2dql:execute
    • davis-copilot:dql2nl:execute
    • storage:entities:read
    • storage:smartscape:read
    • storage:buckets:read
    • storage:bucket-definitions:read
    • storage:security.events:read

Рабочий процесс на основе IDE/CLI

В этом сценарии разработчик взаимодействует с Rovo Dev в своей IDE, чтобы запрашивать у Ключ-АСТРОМ уязвимости, применять исправления и управлять всем жизненным циклом устранения через Jira и Bitbucket.

Как это работает (рабочий процесс на основе IDE)

  1. Ключ-АСТРОМ обнаруживает уязвимости в продуктивных приложениях через Аналитику уязвимостей среды выполнения.
  2. Разработчик открывает свою IDE с затронутым репозиторием и вызывает Rovo Dev.
  3. Разработчик просит Rovo Dev запросить уязвимости для relevant сервиса (например, «Покажи критические уязвимости для сервиса frontend»). Rovo Dev использует MCP-сервер Ключ-АСТРОМ для получения уязвимостей, подтверждённых в среде выполнения.
  4. Разработчик выбирает уязвимость и запрашивает подробную информацию из Ключ-АСТРОМ.
  5. Rovo Dev проверяет Jira на наличие существующих тикетов; если их нет, создаёт новый тикет с подробностями уязвимости.
  6. Разработчик поручает Rovo Dev применить исправление на основе контекста тикета Jira.
  7. Rovo Dev анализирует кодовую базу, применяет необходимые изменения и запускает тесты.
  8. Rovo Dev создаёт pull request в Bitbucket с исправлением и связывает его с тикетом Jira.
  9. Тикет Jira обновляется ссылкой на PR и переводится в статус «На проверке».
  10. Разработчики проверяют и объединяют pull request.

Начало работы (рабочий процесс на основе IDE)

Чтобы начать, выполните следующие шаги.

Шаг 1. Настройте MCP-сервер Ключ-АСТРОМ

  1. Запросите доступ к MCP-серверу Ключ-АСТРОМ.
  2. Настройте MCP-сервер в настройках Rovo Dev вашей IDE, как показано ниже, обязательно заменив:
    • <ASTROMKEY_TENANT> на вашу среду, например mytenant.apps.astromkey.com
    • <ASTROMKEY_PLATFORM_TOKEN> на токен Ключ-АСТРОМ, созданный в разделе «Предварительные требования»
{
  "mcpServers": {
    "astromkey": {
      "transport": "sse",
      "url": "https://<ASTROMKEY_TENANT>/platform/mcp-gateway/sse",
      "headers": {
        "Authorization": "Api-Token <ASTROMKEY_PLATFORM_TOKEN>"
      }
    }
  }
}

Шаг 2. Добавьте пользовательские инструкции для агента Ключ-АСТРОМ

Вы можете предоставить пользовательские инструкции для управления Rovo Dev при взаимодействии с Ключ-АСТРОМ. Скачайте файл instructions.md и настройте его одним из следующих способов:

  • Вариант 1: Глобальный файл памяти
    • В Rovo Dev нажмите меню (три точки) и выберите Открыть глобальный файл памяти.
    • Добавьте содержимое файла instructions.md, чтобы обеспечить руководство, специфичное для Ключ-АСТРОМ, во всех ваших проектах.
  • Вариант 2: Инструкции на уровне репозитория
    • Создайте файл AGENTS.md в корне вашего репозитория (или папки в контексте).
    • Добавьте содержимое файла instructions.md, чтобы обеспечить инструкции агента Ключ-АСТРОМ, специфичные для проекта.

Файл инструкций содержит руководство по запросу уязвимостей, интерпретации событий безопасности Ключ-АСТРОМ и следованию лучшим практикам устранения.

Шаг 3. Настройте интеграции Atlassian

  1. Убедитесь, что Rovo Dev подключён к вашему экземпляру Jira Cloud. Следуйте руководству по настройке Rovo Dev для аутентификации.
  2. Подключите Rovo Dev к вашему репозиторию Bitbucket для создания pull request. Вы можете использовать расширение Atlassian VSC для аутентификации.
  3. Клонируйте затронутый репозиторий локально и откройте его в вашей IDE.

Шаг 4. Взаимодействуйте с Rovo Dev

Используйте запросы на естественном языке для управления рабочим процессом:

  • Запрос уязвимостей:
Покажи все критические уязвимости из Ключ-АСТРОМ
  • Получение сведений об уязвимости:
Получи сведения об [этой] уязвимости из Ключ-АСТРОМ
  • Создание тикета Jira (с проверкой на дубликаты):
Создай тикет Jira для этой уязвимости, но только если уже нет существующего тикета
  • Применение исправлений на основе контекста тикета:
На основе контекста тикета Jira проанализируй мою кодовую базу и примени необходимые исправления для этой уязвимости
  • Создание pull request:
Создай pull request для этого исправления в ветку main
  • Обновление тикета Jira:
Обнови тикет Jira ссылкой на PR и переведи его в статус «На проверке»

Рабочий процесс, управляемый Ключ-АСТРОМ

В этом сценарии используются Рабочие процессы для автоматической сортировки уязвимостей и создания тикетов Jira, при этом Rovo Dev выполняет этап устранения.

Как это работает (сортировка, управляемая Ключ-АСТРОМ)

  1. Ключ-АСТРОМ обнаруживает уязвимости через Аналитику уязвимостей среды выполнения.
  2. Рабочий процесс Ключ-АСТРОМ запускается по настроенному расписанию для выявления новых критических уязвимостей, подтверждённых в среде выполнения.
  3. Рабочий процесс использует Ключ-АСТРОМ Intelligence для суммирования обнаружений и автоматически создаёт тикеты Jira для подтверждённых уязвимостей.
  4. Разработчик получает уведомление о тикете Jira и открывает затронутый репозиторий в своей IDE.
  5. Разработчик загружает тикет Jira как контекст, выбирая его в расширении Atlassian, что предоставляет полные сведения об уязвимости.
  6. При необходимости разработчик может получить дополнительный контекст наблюдаемости, используя настроенный MCP-сервер Ключ-АСТРОМ.
  7. Разработчик поручает Rovo Dev применить исправление, создать pull request в Bitbucket и обновить тикет.
  8. Разработчики проверяют и объединяют pull request.

Начало работы (рабочий процесс, управляемый Ключ-АСТРОМ)

Чтобы начать, выполните следующие шаги.

Шаг 1. Разверните рабочий процесс Ключ-АСТРОМ

Скачайте и разверните рабочий процесс Ключ-АСТРОМ.

Шаг 2. Настройте Rovo Dev

  1. Убедитесь, что Rovo Dev подключён к вашему экземпляру Jira Cloud. Следуйте руководству по настройке Rovo Dev для аутентификации.
  2. Подключите Rovo Dev к вашему репозиторию Bitbucket для создания pull request. Вы можете использовать расширение Atlassian VSC для аутентификации.
  3. Клонируйте затронутый репозиторий локально и откройте его в вашей IDE.

Шаг 3. Устранение из контекста Jira

Когда назначен тикет Jira:

  1. Откройте затронутый репозиторий в вашей IDE.
  2. Загрузите тикет Jira как контекст в Rovo Dev.
  3. Используйте естественный язык для управления устранением:
На основе контекста тикета Jira примени исправление для этой уязвимости, создай PR и обнови тикет

Дополнительные сценарии использования

MCP-сервер Ключ-АСТРОМ предоставляет дополнительные инструменты, которые может использовать Rovo Dev, обеспечивая дополнительные сценарии, такие как:

  • Реагирование на инциденты: запрос активных проблем из Ключ-АСТРОМ, получение анализа первопричин и создание тикетов инцидентов в Jira с полным контекстом наблюдаемости.
  • Оптимизация производительности: получение данных о медленных транзакциях, сведений о запросах к базе данных и зависимостях сервисов для обоснования усилий по оптимизации.
  • Планирование мощностей: использование прогнозирования временных рядов для прогнозирования использования ресурсов и создания проактивных тикетов о мощностях.
  • Контекст наблюдаемости для существующих тикетов: для любого тикета Jira запрос в Ключ-АСТРОМ related логов, трассировок, метрик и связей сущностей для ускорения диагностики.