Claude Chrome Security Flaw
Niezałatany od ośmiu wydań błąd w Claude for Chrome. Złośliwe rozszerzenie odczyta pocztę Gmail i kalendarz
FirmaManifold Security,specjalizująca sięwbezpieczeństwie systemów sztucznej inteligencji, twierdzi, że dwie luki zgłoszone Anthropic w maju tego roku wciąż można wykorzystać w najnowszej wersji Claude for Chrome — agentowego rozszerzenia przeglądarkowego producenta. Osiem kolejnych wydań później podatny kod pozostaje nietknięty, a cały atak sprowadza się do sześciu linijek JavaScriptu.
Według badaczy Manifold obie luki pozwalają złośliwemu rozszerzeniu przeglądarki wymusić na Claude wykonanie uprzywilejowanych działań w imieniu użytkownika — bez świadomego kliknięcia zgody przez ofiarę. Napastnik może w ten sposób odczytać wiadomości Gmail, treść dokumentów Google Docs oraz wpisy w kalendarzu. Autorem analizy jest Ax Sharma, szef działu badań w Manifold. Problemy pozostają odtwarzalne w wersji 1.0.80, wydanej 7 lipca 2026 roku.
Skąd wziął się problem: dziedzictwo ClaudeBleed
Sedno sprawy jest ściśle powiązane z poprawką, którą Anthropic wdrożył wcześniej w tym roku w odpowiedzi na wcześniejszą podatność o nazwie ClaudeBleed (pierwotnie ujawnioną przez firmę LayerX na początku maja). Tamta aktualizacja ograniczała możliwość „karmienia" Claude dowolnym tekstem przez zewnętrzną stronę internetową i zawężała zakres działania rozszerzenia do stałego, wstępnie zatwierdzonego zestawu zadań.
Konkretnie: zamiast przyjmować dowolny tekst, który strona chciała przesłać do Claude, nowsza wersja rozszerzenia akceptuje tylko dziewięć zaszytych na sztywno identyfikatorów zadań (task ID). Każdy z nich mapuje się na stały prompt, którego strona nie może już nadpisać. Na papierze była to realna poprawa. Problem w tym, że mechanizm wyzwalający te dziewięć promptów okazał się dziurawy.
Luka #1: dziewięć promptów i jeden brakujący warunek
Skrypt treści (content script) wewnątrz rozszerzenia nasłuchuje kliknięć na elemencie pasującym do selektora #claude-onboarding-button, odczytuje jego atrybut data-task-id i przekazuje odpowiadający mu prompt do panelu bocznego Claude. Kluczowy błąd polega na tym, że handler nie sprawdza właściwości event.isTrusted — czyli nie weryfikuje, czy kliknięcie faktycznie pochodzi od użytkownika, czy zostało wygenerowane sztucznie przez skrypt.
W praktyce oznacza to, że dowolny skrypt z dostępem do DOM na domenie claude.ai — a taki dostęp deklaruje każde rozszerzenie z content scriptem działającym w kontekście world: "MAIN" — może samodzielnie zbudować odpowiedni przycisk, ustawić w nim identyfikator zadania i wysłać syntetyczne (sfałszowane) kliknięcie. Rozszerzenie przyjmuje takie zdarzenie tak, jakby pochodziło od realnego użytkownika.
Manifold zademonstrował atak sześcioma linijkami JavaScriptu wklejonymi do konsoli DevTools na karcie claude.ai. W logach widoczna była flaga isTrusted: false, potwierdzająca, że sfałszowane kliknięcie zostało uznane za prawidłowe. Panel boczny wypełnił się wówczas wskazanym promptem.
Badacze wycenili wagę tej luki na 7,7 w skali CVSS (poziom wysoki) w trybie domyślnym — gdy przed wykonaniem wrażliwej akcji nadal pojawia się okno potwierdzenia — oraz na 9,6 (poziom krytyczny), jeśli użytkownik wcześniej włączył tryb „Działaj bez pytania" (Act without asking), w którym Claude wykonuje polecenia po cichu, bez żadnego widocznego ostrzeżenia. Co istotne, atak jest niezależny od modelu: Manifold odtworzył go przy wyborze Opus, Sonnet i Fable w panelu bocznym. Błąd tkwi w samym rozszerzeniu, a nie w modelu językowym.
To nie są „ćwiczeniowe" prompty
Anthropic wprowadził tę listę dziewięciu zadań jako środek zaradczy po ujawnieniu ClaudeBleed, ale — jak podkreśla Manifold — nie są to niewinne prompty treningowe. Zestaw dzieli się na trzy grupy:
- Prompty onboardingowe equipment) — ćwiczeniowe scenariusze wprowadzające, np. pomoc w wypełnieniu formularza rezerwacji.
- Odczyt danych z usług Google (usecase-gmail, usecase-gdocs, usecase-calendar) — realny dostęp do wrażliwych danych. usecase-gmail czyta ostatnie wiadomości i identyfikuje maile promocyjne; usecase-gdocs otwiera najnowszy dokument użytkownika wraz z komentarzami; usecase-calendar odczytuje kalendarz i wyszukuje wolne terminy.
- Interakcja z platformami zewnętrznymi (usecase-doordash, usecase-salesforce, usecase-zillow) — w tym modyfikacja leadów w Salesforce i konwertowanie ich na szanse sprzedaży.
Napastnik, który zdoła wywołać którekolwiek z tych zadań u ofiary z włączoną kontrolą przeglądarki (domyślną po zakończeniu onboardingu), uzyskuje wgląd w zawartość skrzynki, komentarze do dokumentów i dostępność w kalendarzu. W trybie uprzywilejowanym odczyt następuje po cichu.
Poprawka, według badaczy, sprowadza się do jednej linijki kodu: dodania na początku handlera warunku odrzucającego sztuczne kliknięcia (if (!n.isTrusted) return;).
Prawdziwe kliknięcia użytkownika działałyby dalej bez zmian. Mimo to poprawka ta nie została wdrożona.
Luka #2: jak Claude wchodzi w tryb „Działaj bez pytania"
Druga podatność ma charakter architektoniczny. Gdy panel boczny Claude się ładuje, odczytuje ze swojego własnego adresu URL parametr skipPermissions. Jeśli jego wartość to true, panel ustawia tryb uprawnień na skip_all_permission_checks i zaczyna działać bez pytania o zgodę przy każdej akcji. Nie towarzyszy temu ani gest użytkownika, ani monit o zgodę, ani ostrzeżenie przed wejściem w tryb uprzywilejowany.
Na górze panelu pojawia się wprawdzie baner „HIGH RISK: Claude can take most actions on the internet now", ale — jak zwraca uwagę Manifold — wyświetla się on dopiero po ustanowieniu uprzywilejowanej sesji. Jest to więc powiadomienie, a nie bramka zabezpieczająca. Charakterystyczny jest też przycisk wysyłania renderowany w bursztynowym kolorze ( #BF8534), którego rozszerzenie używa wyłącznie w trybie Zamierzonym „wywołującym" ten mechanizm jest wewnętrzne okienko zaplanowanych zadań Anthropic, które samo konstruuje adresy URL panelu. Panel honoruje jednak parametr niezależnie od tego, kto zbudował URL.
Badacze zauważają, że atakujący haker do wynajęcia może mieć obecnie problemy z wykorzystaniem tej podatności. W wersji 1.0.80 skonstruowanie adresu URL panelu bocznego nadal wymaga bowiem uprawnień na poziomie samego rozszerzenia i nie istnieje bezpośrednia, zdalnie osiągalna ścieżka do ustawienia tego parametru. Manifold podkreśla jednak, że jest to ryzyko strukturalne: każdy przyszły błąd, który udostępniłby konstruowanie tego adresu URL kontekstowi o niższych uprawnieniach — nowy zewnętrzny handler przyjmujący ciągi URL, regresja w istniejącym handlerze albo XSS w obrębie tego samego rozszerzenia — otworzyłby drogę do cichego wykonania działań w trybie uprzywilejowanym. W połączeniu z pierwszą luką to właśnie ta ścieżka prowadzi do najgroźniejszego, krytycznego scenariusza.
Rekomendowana poprawka to usunięcie inicjalizacji trybu z parametru URL i uruchamianie panelu bezwarunkowo w trybie pytającym (ask), z przejściem w tryb uprzywilejowany dopiero po kliknięciu użytkownika w interfejsie — a w przypadku legalnego przepływu zaplanowanych zadań po wewnętrznej weryfikacji identyfikatora nadawcy.
Co miało zostać naprawione
Obie luki mapują się na listę OWASP Top 10 dla aplikacji wykorzystujących duże modele językowe: LLM01 (Prompt Injection — w wariancie pośrednim) oraz LLM06 (Excessive Agency, czyli nadmierna sprawczość agenta).
Manifold zgłosił oba problemy Anthropic 21 maja 2026 roku, testując wersję 1.0.72. Zespół triage producenta potwierdził przyjęcie obu zgłoszeń następnego dnia, po czym oba zamknął. Zgłoszenie dotyczące sfałszowanego kliknięcia zamknięto z uzasadnieniem, że szerszy problem granicy zaufania jest już śledzony w ramach wcześniejszego, wewnętrznego zgłoszenia związanego z ClaudeBleed, które — według Anthropic — pozostaje otwarte do czasu wdrożenia pełnej poprawki. Firma określiła listę dziewięciu dozwolonych zadań z wersji 1.0.72 jako „wstępne złagodzenie" (initial mitigation) tamtego problemu. Zgłoszenie dotyczące parametru URL zamknięto natomiast jako „informacyjne", argumentując, że adres jest konstruowany wyłącznie przez samo rozszerzenie, dla zadań, które użytkownik wcześniej autoryzował do nienadzorowanego uruchamiania.
W kolejnych tygodniach Anthropic wydał osiem wersji — od 1.0.73 do 1.0.80. Wewnętrzne zgłoszenie obejmujące szerszy problem granicy zaufania zostało oznaczone jako „Resolved" (rozwiązane) jeszcze przed 9 czerwca. Mimo to 7 lipca Manifold zweryfikował, że skrypt treści oraz kod inicjalizujący panel boczny w najnowszej wersji są bajt w bajt identyczne z wersją 1.0.72, którą pierwotnie zgłoszono. Cytowane przez badaczy handlery nie zostały tknięte.
Wzorzec przypomina przebieg pierwotnego ujawnienia ClaudeBleed: Anthropic ogłosił poprawkę, a badacze wykazali następnie, że była ona niekompletna. Tym razem — jak zaznacza Manifold — do 14 lipca Anthropic publicznie nie odniósł się do żadnego z dwóch konkretnych ustaleń. Z zewnątrz nie sposób rozstrzygnąć, czy status „rozwiązane" oznacza pracę zaplanowaną na przyszłe wydanie, czy raczej ocenę, że pozostałe ryzyko nie wymaga dalszych zmian w kodzie.
Dlaczego ten atak jest trudny do wykrycia
Kluczowe jest zrozróżnienie: opisane luki nie atakują samej przeglądarki Chrome. Wykorzystują uprawnienia, które użytkownik już nadał rozszerzeniu Claude for Chrome, oraz jego niezdolność do wiarygodnego ustalenia, skąd pochodzi żądanie. To właśnie czyni je niemal niewidocznymi dla klasycznych narzędzi monitorujących.
Bramka sieciowa widzi jedynie uwierzytelniony ruch HTTPS do claude.ai. System EDR widzi działające rozszerzenie przeglądarki. W logach nie dzieje się nic podejrzanego. Kompromitacja rozgrywa się w całości wewnątrz granicy zaufania — między tym, „jakie komunikaty można wysłać", a tym, „co liczy się jako prawdziwa intencja użytkownika".
Jedynym realnym sygnałem jest to, co agent faktycznie robi w czasie działania, a nie to, do czego został formalnie upoważniony.
Co mogą zrobić użytkownicy
Warto pamiętać, że Claude for Chrome pozostaje oficjalnie w fazie beta, zanim powierzy mu się automatyczne wykonywanie zadań. Do czasu wydania poprawki badacze i komentatorzy branżowi zalecają przede wszystkim:
- Wyłączenie trybu „Działaj bez pytania" (Act without asking) — przywraca to monit o zgodę przed każdą akcją i znacząco utrudnia nadużycie uprawnień przez złośliwe rozszerzenie (obniża wagę ataku z krytycznej do wysokiej).
- Przegląd zainstalowanych rozszerzeń i usunięcie wszystkiego, czemu użytkownik nie ufa w pełni — to inne rozszerzenie jest w tym scenariuszu wektorem ataku.
Samej firmie Anthropic Manifold rekomenduje z kolei trzy działania: weryfikację autentyczności interakcji użytkownika przed wykonaniem uprzywilejowanych akcji, rezygnację z przełączania uprawnień sterowanego parametrem w adresie URL oraz wzmocnienie uwierzytelniania między wewnętrznymi komponentami rozszerzenia.
