ИИ-агент Atlassian Rovo похищает данные, обходя настройки безопасности: в логах атакующего оказываются тикеты Jira и документы Confluence.
ИИ-агент Atlassian Rovo похищает данные, обходя настройки безопасности: в логах атакующего оказываются тикеты Jira и документы Confluence.

Контекст

Rovo — многофункциональный ИИ-агент Atlassian, работающий во всей продуктовой линейке компании: Jira, Confluence и других сервисах.

Исследователи PromptArmor выявили уязвимости, позволяющие похищать данные тенанта Atlassian — тикеты Jira, документы Confluence и прочее — через непрямую prompt injection. Атака выполняется без какого-либо подтверждения от человека и эксплуатирует встроенный в Rovo инструмент для загрузки URL.

Атака срабатывает даже в том случае, если в организации отключён веб-поиск для Rovo. Дело в том, что настройка отключения веб-поиска не убирает инструмент открытия результатов поиска.

PromptArmor сообщила Atlassian об этих уязвимостях 23 мая. Компания завела номер обращения и поблагодарила за отчёт, но за два с лишним месяца, несмотря на несколько повторных запросов от PromptArmor, никакой дальнейшей реакции не последовало — Rovo остаётся уязвимым. Поэтому исследователи решили опубликовать материал, чтобы предупредить пользователей о риске.

Цепочка атаки

  1. Жертва формулирует запрос к Rovo на организацию тикетов Jira

    Жертва вводит запрос в Rovo
    Жертва вводит запрос в Rovo
  2. Жертва загружает в Rovo файл со скрытой prompt injection

    Для типичных сценариев использования это обычная ситуация: пользователь находит файл в интернете и загружает его в Rovo. Атака не зависит от конкретного источника инъекции — среди прочих источников могут быть внешние данные внутри Atlassian (например, обращения в поддержку), веб-данные (если включён поиск), сторонние «коннекторы» и другие.

    Документ 'Backlog Guide', загруженный пользователем, содержит скрытую prompt injection.
    Документ «Backlog Guide», загруженный пользователем, содержит скрытую prompt injection.
  3. Жертва просит Rovo организовать её тикеты Jira

    Rovo обрабатывает запрос и начинает искать данные в Jira и Confluence.
    Rovo обрабатывает запрос и начинает искать данные в Jira и Confluence.
  4. Инъекция заставляет Rovo отправить тикеты Jira и документы Confluence на сайт атакующего

    Инструмент загрузки URL в Rovo реализован небезопасно: отсутствует какая-либо защита от открытия URL, динамически сформированного самим агентом. В данном случае Rovo манипулируют так, чтобы он дописал конфиденциальные данные к URL атакующего. Когда Rovo вызывает этот незащищённый инструмент для открытия ссылки, сайт атакующего фиксирует запрос — включая добавленные к нему чувствительные данные.

    Инъекция манипулирует Rovo, заставляя его отправить данные Jira и Confluence на URL атакующего.
    Инъекция манипулирует Rovo, заставляя его отправить данные Jira и Confluence на URL атакующего.

    Важно: атака срабатывает даже при отключённом веб-поиске для Rovo. Причина в том, что настройка отключения веб-поиска не убирает инструмент открытия результатов поиска.

    Общая для организации настройка 'Enable web search' для Rovo отключена.
    Общая для организации настройка «Enable web search» для Rovo отключена.

    Если пользователь позже вернётся в чат, он увидит только предложенные агентом обновления тикетов — без каких-либо следов атаки.

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

    Prompt injection способна похитить любые данные, к которым у агента есть доступ в Atlassian, включая данные, доступные через «коннекторы».

    В логах сервера атакующего оказываются похищенные тикеты Jira и документы Confluence.
    В логах сервера атакующего оказываются похищенные тикеты Jira и документы Confluence.

Дополнительно: второй канал утечки

Atlassian Rovo также рендерит Markdown-изображения из выводов ИИ. Небезопасный рендеринг Markdown-картинок — известный вектор эксфильтрации данных через непрямую prompt injection.

Полную цепочку такой атаки на примере других продуктов PromptArmor описывала в предыдущих исследованиях:

Раскрытие информации

PromptArmor сообщила Atlassian об уязвимостях, описанных в этом материале, 23 мая. Компания завела номер обращения и поблагодарила за отчёт, но после нескольких повторных запросов на протяжении более двух месяцев дальнейшей реакции не последовало — на момент публикации Rovo остаётся уязвимым.

Хронология

23 мая 2026PromptArmor уведомляет Atlassian
25 мая 2026Atlassian благодарит и заводит номер обращения
4 июня 2026PromptArmor направляет повторный запрос
29 июля 2026PromptArmor направляет повторный запрос
5 августа 2026Публикация материала