Życie po Tampermonkey. Kolejna ofiara Chrome Manifest V3?
Tampermonkey to najpopularniejszy manager userscript z imponującą liczbą 10 milionów użytkowników tygodniowo. Społeczność programistów polubiła go, ponieważ ułatwia zarządzanie skryptami użytkownika i oferuje wiele interesujących funkcji, np. przegląd uruchomionych skryptów czy wbudowany edytor. Przydatne rozszerzenie może jednak stać się kolejną ofiarą zmian zapowiadanych w najnowszej wersji Google Chrome Manifest.
Spis treści
Zmiany w manifeście Google
Alarmująca wiadomość została przekazana społeczności entuzjastów przez samego autora Tampermonkey, który w poście na Grupach Google wyraził obawę, że jeśli zmiany zaproponowane w Chrome Manifest V3 zostaną wprowadzone, to mogą dotknąć jego produkt.
Dla przypomnienia: to, jakie uprawnienia ma dane rozszerzenie do Google Chrome wynika z regulacji manifestu rozszerzenia Chrome, którego najnowsza obowiązująca wersja to wersja 2. Nadchodząca wielkimi krokami wersja 3 nakłada nowe ograniczenia na kwestię tego, które rozszerzenia są dozwolone, a które nie. Jeśli wejdzie ona w życie w proponowanej obecnie formie, to uniemożliwi działanie niektórych bardzo popularnych rozszerzeń, takich jak np. blocker reklam uBlock Origin.
Proponowane wycofywanie interfejsu API webRequest ma związek z blokowaniem reklam, ale oprócz tego Chrome Manifest V3 zakłada dodatkowo, że rozszerzenie nie będzie mogło używać zdalnych skryptów. Tłumaczone jest to chęcią zwiększenia bezpieczeństwa i potrzebą ochrony użytkowników przed złośliwym oprogramowaniem opartym na rutynowym imporcie zewnętrznych skryptów. Dzięki tym zmianom Google miałoby móc szybciej ocenić dany skrypt w całości.
Życie bez Tampermonkey
W kolejnym poście opublikowanym w grupie Chromium Extensions twórca Tampermonkey, Jan Biniok, stwierdził, że proponowana zmiana uniemożliwi działanie jego narzędzia, ponieważ możliwość wczytywania zdalnych skryptów należy do podstawowych funkcjonalności oferowanych przez jego rozszerzenie.
— Manifest V3 zabrania rozszerzeniom korzystania ze zdalnie hostowanego kodu. Będzie to wymagało, aby cały kod rozszerzenia był obecny w pakiecie rozszerzenia przesłanym do webstore’u. Komunikacja serwerowa (potencjalnie zmieniająca zachowanie rozszerzenia) nadal będzie dozwolona. Pomoże nam to lepiej przejrzeć przesłane rozszerzenia i zapewnić bezpieczeństwo naszym użytkownikom. Wykorzystamy minimalne wymagane CSP, aby pomóc w egzekwowaniu tej zasady (chociaż nie będzie to w 100% możliwe) – pisze Biniok.
— Rozumiem potrzebę zachowania bezpieczeństwa, ale oznacza to, że V3 P1 – przynajmniej w formie, w jakiej jest obecnie planowane – zupełnie uniemożliwi działanie Tampermonkey, ponieważ możliwość wykonania dowolnego kodu jest jego główną funkcją. Każdy mały userscript musiałby stać się własnym rozszerzeniem. Każdy, kto chciałby zrobić coś takiego, musi zapłacić 5 dolarów, aby móc opublikować rozszerzenie. Jest tyle sposobów użycia userscriptów, że mam nadzieję, że ta planowana zmiana zostanie rozważona ponownie – tłumaczy w dalszej części publikacji.
Na końcu wypowiedzi dodał, że pracuje nad Tampermonkey od czwartej lub piątej wersji Google Chrome i nie wyobraża sobie bez niego życia.
Tampermonkey to manager userscript pozwalający użytkownikom na tworzenie skryptów JavaScript, które mogą być zdalnie ładowane przez rozszerzenie w celu zmiany funkcjonalności na stronie, która jest odwiedzana. Ponad 400 000 skryptów i ponad 10 milionów użytkowników świadczą o niezwykłej popularności tego narzędzia umożliwiającego internautom kontrolę nad sposobem przeglądania przez nich sieci i naprawę problemów napotykanych w często odwiedzanych przez nich witrynach.
Google: robimy wszystko, by Tampermonkey dalej działał
Rozumiejąc fakt, że wykorzystywanie zdalnie hostowanych skryptów może być nadużywane przez część użytkowników, Jan Biniok poprosił o zmianę podejścia do tej kwestii, które miałoby polegać nie na całkowitym zabranianiu tworzenia rozszerzeń ze skryptami hostowanymi zdalnie, ale na baczniejszym przyglądaniu się tworzonym w ten sposób rozszerzeniom połączonym z wysyłaniem ostrzeżeń informujących użytkowników, gdy instalowana jest aplikacja tego typu.
Google nie odniosło się bezpośrednio do wątpliwości wyrażonych przez Jana Binioka, ale w odpowiedzi na zapytanie serwisu BleepingComputer wydało oświadczenie, w którym przypomina, że omawiane zmiany są obecnie przedmiotem prac i nie mają charakteru ostatecznego. Gigant z Mountain View uspokaja również, że robi wszystko, aby istniejące rozszerzenia mogły nadal działać przy jednoczesnym poszanowaniu zasad bezpieczeństwa.
Źródło: bleepingcomputer.com.