Cyberbezpieczeństwo

Claude zepsuł zrootowanego LG webOS. Vibe coding telewizora skończył się przeprosinami

Vibe coding interfejsu telewizora to rosnący trend: ludzie z pomocą asystentów AI wycinają reklamy, trackery i toporne domyślne launchery. Jose Antonio Lanz z Decrypt postanowił to powtórzyć na swoim LG. Opisał, jak to się skończyło: odzyskał część rzeczy, które sam zepsuł, a jedną najważniejszą stracił.

Dobry start, zły ruch

Celem było zainstalowanie Free My TV, otwartoźródłowego zamiennika launchera webOS z interfejsem w stylu mrożonego szkła. W readme projektu jest wprost napisane, że wystarczy podać Claude Code adres IP telewizora, a ten zainstaluje narzędzia, zbuduje aplikację i ją wdroży.

Claude zaczął poprawnie: zanim cokolwiek uruchomił, przeczytał kod instalatora. Skrypt webos/install.py łączy się z oficjalnym developerskim SSH LG na porcie 9922, kopiuje pakiet.ipk i wywołuje tę samą usługę instalacji, której używają narzędzia producenta. Model uznał, że kod jest czysty, zbudował pakiet o wielkości 636 KB i przeszedł do testów wstępnych.

Wtedy zauważył, że na porcie 22 telewizora działa dropbear SSH. To charakterystyczny ślad wcześniejszego roota przez Homebrew Channel. Autor zrootował telewizor w 2023 roku i miał na nim m.in. YouTube bez reklam, a port 22 zamknął później ze względów bezpieczeństwa. Claude nie dopytał, czy użytkownik wie, co ma na urządzeniu. Poprosił po prostu o włączenie Developer Mode.

Po restarcie Homebrew Channel i YouTube bez reklam zniknęły. Według Lanza tryb deweloperski LG przy włączeniu na nowo przygotowuje partycję /media/developer, a właśnie tam leżało całe zrootowane środowisko.

„Muszę być szczery co do mojej roli”

Gdy autor zapytał, co się stało, Claude odpowiedział: „to była moja wina”. Przyznał, że dropbear na porcie 22 widział już w pierwszym skanie i powinien był się zatrzymać, żeby chronić roota, zanim poprosił o przełączenie czegokolwiek.

Naprawiał to rzeczowo. Pobrał Homebrew Channel w wersji 0.7.3 i YouTube AdFree 0.5.3 z oficjalnych wydań na GitHubie, sprawdził nagłówki plików, napisał skrypt przywracający, wgrał oba pakiety przez developerskie SSH i zweryfikował wynik na liście aplikacji telewizora. Aplikacje wróciły. Root nie.

Dlaczego roota nie dało się odzyskać

Telewizor Lanza działa na firmwarze 04.60.90 (webOS 7.6.0-19), zbudowanym w lipcu 2026 roku. Exploit crashd, którym wcześniej go zrootowano, został według społeczności webOS Homebrew załatany 2 kwietnia 2024 roku. Hak utrzymujący roota po restarcie nie miał więc już jak zadziałać. Jedynym kandydatem pozostał pakiet faultmanager.

Tu do gry weszły zabezpieczenia samego Claude’a. Przy próbie szczegółowego researchu procedury re-rootingu pojawił się komunikat: „Zabezpieczenia Opus 5.5 oznaczyły tę wiadomość. Przełączyć na Opus 4.8 i kontynuować, gdy to się zdarzy?”. To zgadza się z tym, co Anthropic pisze na stronie Opus 5.5: większość zadań z zakresu cyberbezpieczeństwa jest kierowana do Opus 4.8.

Starszy model poszedł dalej, ale zatrzymał się, gdy trzeba było pobrać pakiet o nazwie „root”. Próba z kolejnym modelem skończyła się oznaczeniem jako ryzyko cyberbezpieczeństwa. Autor ironizuje, że restrykcje są luźniejsze w starszym i droższym modelu. To jego ocena, a o cenach nie podaje żadnych danych.

Launcher działa, tylko go nie widać

Sam launcher się zainstalował i wygląda jak w demach: czysta półka, zero reklam, zero agresywnych rekomendacji LG. Problem pojawia się po naciśnięciu przycisku Home na pilocie, bo telewizor wraca do domyślnego launchera producenta. Free My TV to aplikacja trybu deweloperskiego, a nie systemowy zamiennik, więc nie uruchamia się automatycznie. Bez roota trzeba ją odpalać ręcznie za każdym razem.

Lanz zapowiada, że w weekend wróci do tematu, ale bez vibe codingu: oficjalną procedurę faultmanager chce przejść ręcznie, po własnym researchu. Z wyszukiwań wynika mu, że jego firmware da się jeszcze złamać.