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.
- AUTOR
- Karol Rapacz / CEO Breachroad · OSCP · PNPT
- PUBLIKACJA
- 8 sierpnia 2026
- CZAS CZYTANIA
- 13 min czytania
- TEMAT
- Bezpieczeństwo AI
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
- 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.
- 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ć.
- Wymagaj potwierdzenia przed requestem do nowej domeny, wysłaniem wiadomości, utworzeniem webhooka lub zapisaniem danych poza źródłową aplikacją.
- Zablokuj w egress domeny dynamiczne i śledź pełne docelowe hosty, metody oraz rozmiary odpowiedzi. Sama lista „zaufanych SaaS” jest zbyt szeroka.
- Traktuj zawartość issue, stron, załączników, e-maili i wyników konektorów jako nieufne dane. Oznaczaj ich pochodzenie w kontekście agenta.
- Testuj bezpiecznie indirect prompt injection na kanarkowych sekretach i syntetycznych zbiorach, nie na danych produkcyjnych.
- Alertuj, gdy jedna rozmowa łączy odczyt danych wysokiej wrażliwości z połączeniem wychodzącym lub kolejną akcją zapisującą.
- 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.


