ClawJacked: podatność pozwalająca złośliwym stronom przejąć lokalne agenty OpenClaw przez WebSocket

securitybeztabu.pl 9 godzin temu

Wprowadzenie do problemu / definicja luki

ClawJacked to nazwa łańcucha podatności/opcji projektowych, które pozwalały dowolnej odwiedzanej stronie WWW (złośliwej lub przejętej) nawiązanie połączenia z lokalnie uruchomioną bramą (gateway) OpenClaw i stopniowe przejęcie kontroli nad agentem AI. W praktyce wystarczało samo wejście na stronę – bez instalowania wtyczek czy „marketplace skills”.

Sedno problemu nie leży w „magii AI”, tylko w klasycznym założeniu: „localhost jest zaufany”. W nowoczesnych przeglądarkach to założenie bywa fałszywe, bo JavaScript uruchomiony na zewnętrznej domenie potrafi zestawić połączenie WebSocket do usług na 127.0.0.1, jeżeli te usługi nie bronią się poprawnie.

W skrócie

  • Atak startuje od wejścia użytkownika na złośliwą stronę.
  • JavaScript otwiera WebSocket do localhost na porcie bramy OpenClaw.
  • Następuje szybki brute force hasła (brak/obejście limitów dla połączeń z localhost).
  • Po zalogowaniu skrypt rejestruje się jako zaufane urządzenie (auto-akceptacja pairingu z localhost, bez promptu).
  • Efekt: atakujący zyskuje kontrolę administracyjną nad agentem: odczyt konfiguracji, logów, enumeracja węzłów/urządzeń, a dalej – wykonywanie działań w imieniu agenta.
  • OpenClaw wydał poprawkę (release 2026.2.25, 26 lutego 2026) hardeningując uwierzytelnianie WebSocket i blokując ciche auto-parowanie dla „obcych” klientów przeglądarkowych.

Kontekst / historia / powiązania

Wiadomość o ClawJacked pojawiła się w momencie, gdy ekosystem agentów OpenClaw jest już pod ostrzałem: od problemów z bezpieczeństwem instancji wystawionych do sieci, po ryzyko wynikające z „skills supply chain”. The Hacker News opisuje m.in. równoległe łatki (np. scenariusze log poisoning przez WebSocket do publicznie dostępnych instancji) oraz przypadki złośliwych „skills” wykorzystywanych do oszustw kryptowalutowych.

Z perspektywy obrony to ważne: agent AI działa jak „super-integracja” – ma dostęp do narzędzi, kont, danych, a często także możliwość wykonywania akcji. Dlatego przejęcie agenta bywa równoznaczne z przejęciem środowiska pracy.

Analiza techniczna / szczegóły luki

1. Mechanika ataku (łańcuch ClawJacked)

Oasis Security opisało pełen łańcuch w pięciu krokach:

  1. ofiara odwiedza stronę atakującego,
  2. JavaScript otwiera WebSocket do localhost na porcie bramy OpenClaw (WebSocket nie jest automatycznie blokowany „klasyczną” polityką cross-origin w tym scenariuszu),
  3. brute force hasła z wysoką częstotliwością, bo mechanizmy throttling/rate-limit nie obejmowały loopback/localhost,
  4. ciche „pairing” jako zaufane urządzenie (auto-approve z localhost, bez interakcji użytkownika),
  5. pełna kontrola: interakcja z agentem, zrzut konfiguracji, enumeracja podłączonych węzłów, odczyt logów.

2. Dlaczego to działało: „implicit trust” + brak kontroli źródła (Origin)

Kluczowe są dwa elementy:

  • Brak sensownej weryfikacji Origin dla WebSocket (lub zbyt liberalne traktowanie klientów przeglądarkowych).
  • Traktowanie localhost jako strefy zaufanej, co skutkowało m.in. słabszym egzekwowaniem ograniczeń logowania oraz automatycznym zatwierdzaniem pairingu.

3. Co zmieniono w poprawce

W release 2026.2.25 OpenClaw wskazuje bezpośrednio utwardzenia wokół „Gateway WebSocket auth”: m.in. enforcement origin checks dla klientów przeglądarkowych, throttling nieudanych prób hasła także dla localhost oraz zablokowanie cichego auto-pairingu dla przeglądarkowych klientów innych niż kontrolny interfejs UI.

Praktyczne konsekwencje / ryzyko

Po przejęciu sesji atakujący może wykorzystywać uprawnienia agenta do działań „pośrednich”, które w realnym środowisku są krytyczne:

  • przeszukiwanie historii komunikatorów (np. Slack) pod kątem sekretów/API keys,
  • odczyt prywatnych wiadomości,
  • eksfiltracja plików z podłączonych węzłów/urządzeń,
  • wykonywanie poleceń (jeśli agent ma do tego drogę przez integracje/węzły).

Dla organizacji to często nie jest „tylko incydent na laptopie developera”, ale ryzyko kaskadowe: przejęte tokeny i integracje mogą dać dostęp do repozytoriów, pipeline’ów CI/CD, sekretów w konfiguracjach i środowiskach chmurowych.

Rekomendacje operacyjne / co zrobić teraz

  1. Zaktualizuj OpenClaw co najmniej do 2026.2.25 (to wersja wskazywana jako zawierająca naprawę łańcucha ClawJacked).
  2. Traktuj „localhost” jak sieć niezaufaną:
    • nie zwalniaj loopback z rate-limitów,
    • nie auto-zatwierdzaj pairingu/urządzeń na podstawie IP.
  3. Ogranicz ekspozycję bramy: jeżeli masz możliwość, ogranicz nasłuch do minimalnego interfejsu, kontroluj firewallem procesy/porty, rozważ izolację profilu (np. osobna maszyna/VM dla agentów).
  4. Audyt uprawnień agenta: przegląd integracji, tokenów, kluczy, zakresów oraz zasad „least privilege”.
  5. Monitoring i detekcja: loguj i alertuj na nietypowe próby auth/pairingu, skoki liczby połączeń WebSocket do gateway, oraz anomalie w działaniach agenta (np. odczyt dużych wolumenów danych, masowe „search” po sekretach).

Różnice / porównania z innymi przypadkami

ClawJacked vs. CVE-2026-25253 („1-click RCE”)

W obiegu pojawiają się równolegle dwa wątki, które łatwo pomylić:

  • ClawJacked (Oasis): nacisk na cross-origin WebSocket do localhost + brute force + auto-pairing i przejęcie kontroli nad agentem z poziomu przeglądarki; naprawa wskazywana w linii 2026.2.25.
  • CVE-2026-25253 (NVD/MITRE): opis dotyczy sytuacji, w której OpenClaw przed 2026.1.29 pobiera gatewayUrl z query string i automatycznie zestawia połączenie WebSocket bez promptu, wysyłając token; CVSS 8.8 (wektor: AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H).

Część publikacji medialnych zestawia te tematy razem (bo oba dotyczą WebSocket i „1-click” scenariuszy), ale w obronie warto rozdzielać: inne są warunki wejścia, inny „root cause” i inne wersje graniczne.

Podsumowanie / najważniejsze wnioski

  • „Lokalnie uruchomione” nie oznacza „bezpieczne” – przeglądarka może stać się mostem do usług na localhost, jeżeli te nie egzekwują Origin/rate-limitów i zbyt ufają loopback.
  • ClawJacked pokazuje typowy anty-wzorzec: upraszczanie DX kosztem security (auto-pairing, brak throttlingu dla localhost).
  • Najpilniejsze działanie: aktualizacja do 2026.2.25 oraz audyt uprawnień i integracji agenta, bo przejęcie agenta to często przejęcie tożsamości i dostępu do narzędzi.

Źródła / bibliografia

  • The Hacker News — „ClawJacked Flaw Lets Malicious Sites Hijack Local OpenClaw AI Agents via WebSocket” (28.02.2026). (The Hacker News)
  • Oasis Security (PRNewswire) — opis łańcucha ataku i rekomendacje (26.02.2026). (PR Newswire)
  • CSO Online — kontekst „localhost trust” i ryzyko operacyjne (27.02.2026). (CSO Online)
  • GitHub Releases — OpenClaw v2026.2.25: utwardzenia WebSocket auth/origin checks/throttling/auto-pairing (26.02.2026). (GitHub)
  • NVD (NIST) — CVE-2026-25253: opis i metryki CVSS (publikacja 01.02.2026, modyfikacja 13.02.2026). (NVD)
Idź do oryginalnego materiału