Przejdź do treści
INDEKS ANALIZ BREACHROAD / NOTA TECHNICZNA

RovoBlast: prompt injection w Atlassian Rovo mogła wyprowadzić dane z Jira

Złośliwy link i pośrednia prompt injection wykorzystywały uprawnienia użytkownika Rovo. Wyjaśniamy retrieval, exfiltration, konektory i kontrolę egress.

MATERIAŁ PUBLICZNY
AUTOR
/ CEO Breachroad · OSCP · PNPT
PUBLIKACJA
8 sierpnia 2026
CZAS CZYTANIA
13 min czytania
TEMAT
Bezpieczeństwo AI
RovoBlast: prompt injection w Atlassian Rovo mogła wyprowadzić dane z Jira

Dwa niezależne badania Atlassian Rovo pokazały ten sam problem architektoniczny: asystent może mieć legalne prawo do odczytu danych użytkownika, lecz nie powinien automatycznie otrzymywać prawa do wysłania tych danych pod adres wynikający z nieufnej instrukcji. RovoBlast wykorzystywał złośliwy link, który wstępnie wypełniał prompt. Drugi scenariusz używał instrukcji ukrytych w treści analizowanego dokumentu.

Nie było to klasyczne obejście ACL Jira ani Confluence. Agent działał z uprawnieniami zalogowanej ofiary. Ryzyko powstawało przez połączenie trzech poprawnych osobno funkcji: pobrania danych, wykonania instrukcji w kontekście czatu i wywołania zewnętrznego zasobu.

RovoBlast: instrukcja w parametrze URL

Badacze Varonis Threat Labs opisali link zawierający parametr rovoChatPrompt. Po kliknięciu przez uwierzytelnionego użytkownika Rovo otrzymywało instrukcję w kontekście jego sesji. Demonstracja obejmowała odnalezienie prywatnego klucza API w Confluence i przekazanie go przez request do zasobu kontrolowanego przez badacza. Podobny model dotyczył danych dostępnych w Jira i podłączonych źródłach, takich jak SharePoint lub Outlook — zawsze w granicach uprawnień ofiary.

Atlassian usunął tę ścieżkę po stronie usługi 8 lipca 2026 roku, a zgłoszenie w Bugcrowd zostało oznaczone jako rozwiązane. Użytkownicy SaaS nie instalują tu lokalnej łatki, ale nadal powinni szukać zdarzeń z okresu ekspozycji oraz ograniczyć zbyt szerokie prawa do danych.

Pośrednia prompt injection: dokument staje się poleceniem

PromptArmor opisał osobny wariant, w którym instrukcja znajdowała się w treści przekazanej Rovo. Model miał potraktować fragment dokumentu jako dane, lecz interpretował go również jako polecenie. Następnie mógł pobrać informacje dostępne przez konektory i zakodować je w wychodzącym żądaniu.

Wyłączenie „web search” nie musi blokować takiego kanału. Wyszukiwanie internetu i pobranie konkretnego URL przez narzędzie to dwie różne zdolności. Z punktu widzenia bezpieczeństwa ważniejsza jest macierz: jakie dane agent może czytać, które narzędzia sieciowe może wywoływać i czy transfer do nowej domeny wymaga zatwierdzenia.

Dokumentacja akcji Rovo pokazuje, że agent może być rozszerzany o działania. Każde takie działanie powinno mieć własne, wąskie uprawnienia i jawny kontrakt danych — nie dziedziczyć automatycznie całego autorytetu użytkownika.

Model obrony: oddziel odczyt od eksportu

  1. Ustal właścicieli Rovo, listę aktywnych agentów, konektorów, źródeł danych i dostępnych działań. Bez inwentaryzacji nie da się wyznaczyć zasięgu prompt injection.
  2. Ogranicz dostęp użytkowników do Confluence, Jira i podłączonych usług. Agent nie może ujawnić danych, których sesja użytkownika nie potrafi pobrać.
  3. Wymagaj potwierdzenia przed requestem do nowej domeny, wysłaniem wiadomości, utworzeniem webhooka lub zapisaniem danych poza źródłową aplikacją.
  4. Zablokuj w egress domeny dynamiczne i śledź pełne docelowe hosty, metody oraz rozmiary odpowiedzi. Sama lista „zaufanych SaaS” jest zbyt szeroka.
  5. Traktuj zawartość issue, stron, załączników, e-maili i wyników konektorów jako nieufne dane. Oznaczaj ich pochodzenie w kontekście agenta.
  6. Testuj bezpiecznie indirect prompt injection na kanarkowych sekretach i syntetycznych zbiorach, nie na danych produkcyjnych.
  7. Alertuj, gdy jedna rozmowa łączy odczyt danych wysokiej wrażliwości z połączeniem wychodzącym lub kolejną akcją zapisującą.
  8. Zachowuj ślad decyzji: oryginalne wejście, pobrane fragmenty, wywołane narzędzia, domenę docelową i tożsamość użytkownika.

Fakty i analiza Breachroad

Publiczne raporty opisują dwie techniki: preładowany prompt RovoBlast i niezależną pośrednią prompt injection. Atlassian usunął pierwszy wariant po stronie usługi; nie należy automatycznie uznawać wszystkich wariantów prompt injection za jeden naprawiony błąd. Oddzielenie uprawnienia do retrieval od uprawnienia do exfiltration jest modelem kontrolnym Breachroad wynikającym z obu łańcuchów.

Szkolenia z bezpieczeństwa AI pomagają właścicielom danych, administratorom SaaS i zespołom SOC mówić wspólnym językiem o ryzyku agentów. Audyt bezpieczeństwa AI mapuje rzeczywiste konektory, narzędzia, egress i ścieżki zatwierdzania.

UDOSTĘPNIJ / KOPIUJ