uBlock Origin. Google Chrome (e più in generle Chromium e tutti i Browser basati su di esso) sta progressivamente (end line Giugno 2024) abbandonando il framework Manifest V2 in favore di Manifest V3, una decisione che ha suscitato notevoli discussioni tra sviluppatori e utenti, soprattutto per il potenziale impatto su alcune estensioni e sul loro funzionamento. Tra queste estensioni è compresa uBlock Origin l’addon più conosciuto e scaricato per bloccare le pubblictà sui siti e non solo.
Differenze Tecniche tra Manifest V2 e Manifest V3
Modello di permessi:
Manifest V2: Le estensioni potevano richiedere molti permessi all’installazione, anche se non necessari immediatamente, creando possibili rischi di sicurezza e privacy.
Manifest V3: Introduce un modello più granulare e sicuro, dove le estensioni devono chiedere permessi specifici solo quando necessario, migliorando la trasparenza e la sicurezza.
Service Workers al posto di Background Pages:
Manifest V2: Le estensioni utilizzavano “background pages” persistenti, che rimanevano in esecuzione costante, consumando risorse.
Manifest V3: Le “background pages” vengono sostituite dai Service Workers, che sono più leggeri e si attivano solo quando necessario, riducendo il consumo di risorse.
Declarative Net Request (DNR) al posto di Web Request:
Manifest V2: Le estensioni potevano usare l’API webRequest per monitorare, modificare o bloccare richieste di rete in modo dinamico e dettagliato.
Manifest V3: L’API webRequest è stata in gran parte sostituita da Declarative Net Request (DNR), che permette di predefinire regole statiche per il blocco o la modifica delle richieste di rete. Questo limita la flessibilità delle estensioni rispetto a Manifest V2.
Sicurezza e Performance:
Manifest V3: Impone restrizioni più severe sugli script iniettati, limitando l’uso di codice dinamico e migliorando così la sicurezza complessiva. Anche i contenuti delle estensioni devono ora essere ospitati su HTTPS, garantendo una maggiore protezione.
Risorse ed Eventi Statici:
Manifest V3: Riduce la possibilità di utilizzare eventi ed elementi dinamici nelle estensioni, richiedendo che la maggior parte delle regole e delle risorse siano predefinite nel manifest stesso. Questo riduce la flessibilità ma migliora la prevedibilità e la sicurezza.
Questi sono gli aspetti puramente tecnici o riservati agli sviluppatori che a dire il vero poco importano al più degli utenti che scaricano ed installano estensioni, come uBlock Origin, per il Browser in uso preoccupandosi molto poco degli aspetti costruttivi di un’estensione.
Sta di fatto che il passaggio a Manifest V3 taglierà fuori parecchie estensioni e non solo uBlock Origin, tutte le estensioni che hanno a che fare con la Privacy o le estensioni per poter installare custom script nel browser avranno nel vicinissimo futuro vita dura.
Dovranno essere gli sviluppatori a preoccuparsi di aggiornare le estensioni al funzionamento nel framework Manifest V3 e garantirne il rilascio futuro. Non tutti gli sviluppatori però potrebbero accettare di buon grado l’aggiornamento e potrebbero anche interrompere lo sviluppo dell’addon.
C’è un’ulteriore aspetto che va considerato, anche nell’ipotesi che un’estensione venga aggiornata e rilasciata per funzionare con Manifest V3 non è detto che le sue caratteristiche rimangano invariate.
Il passaggio da V2 a V3 implementa delle restrizioni dal punto di vista dello sviluppo a causa delle politiche di sicurezza e rilascio che di fatto escluderebbero alcune funzionalità della stessa estensione a discapito di un funzionamento ottimale (inteso come il motivo per il quale è nata).
Lo stesso sviluppatore di uBlock Origin è particolarmente scettico su quali saranno i reali benefici del passaggio a Manifest V3:
Limitazione della Flessibilità: Hill ha sottolineato che Manifest V3 riduce drasticamente la flessibilità che le estensioni avevano con Manifest V2, in particolare riguardo all’API webRequest. Questa API permetteva a uBlock Origin di bloccare o modificare le richieste di rete in tempo reale, consentendo un controllo dettagliato e personalizzato del traffico web. Con Manifest V3, questo controllo viene limitato poiché le estensioni devono usare Declarative Net Request (DNR), che consente solo regole predefinite e meno dinamiche.
Riduzione dell’Efficacia del Blocco: Hill ha anche affermato che il sistema DNR non è sufficiente per implementare le stesse capacità di blocco delle pubblicità che uBlock Origin e altre estensioni avanzate utilizzano attualmente. Le limitazioni nel numero di regole che possono essere applicate e la rigidità del sistema rendono difficile mantenere lo stesso livello di protezione e personalizzazione che gli utenti si aspettano.
Impatto sugli Utenti: Ha espresso preoccupazione per il fatto che la transizione a Manifest V3 potrebbe degradare l’esperienza utente per coloro che dipendono da estensioni avanzate di blocco delle pubblicità e di privacy. Hill ha sottolineato che questo cambiamento potrebbe costringere gli utenti a cercare browser alternativi che mantengano supporto per funzionalità più avanzate.
A riguardo delle motivazioni di Google: Hill ha suggerito che le modifiche in Manifest V3 potrebbero essere guidate più dall’interesse di Google nel proteggere i propri modelli di business basati sulla pubblicità, piuttosto che nel migliorare la sicurezza e la privacy degli utenti. Secondo lui, limitare le estensioni di blocco delle pubblicità potrebbe essere visto come un modo per ridurre l’efficacia degli strumenti che minano le entrate pubblicitarie di Google.
In sostanza Hill vede il passaggio a V3 come un cambiamento che danneggia la capacità delle estensioni come uBlock Origin di fornire un’esperienza di navigazione libera da pubblicità indesiderate e rispettosa della privacy.
Componenti Aggiuntivi (Estensioni) che Potrebbero Smettere di Funzionare
Le estensioni più impattate saranno quelle che fanno ampio uso delle API webRequest e background pages. Alcuni esempi includono:
Ad Blocker Avanzati: Le estensioni che dipendono dalla capacità di modificare dinamicamente le richieste di rete potrebbero vedere una riduzione significativa delle loro funzionalità. Il nuovo sistema DNR limita la complessità delle regole che possono essere applicate.
Privacy Enhancers: Estensioni che modificano le intestazioni HTTP, bloccano tracker avanzati o implementano regole complesse di filtraggio potrebbero non funzionare più correttamente o essere eliminate dal Chrome Web Store se non adattate.
Script Manager: Strumenti come Tampermonkey, che consentono agli utenti di eseguire script personalizzati su siti web, potrebbero subire limitazioni nelle loro funzionalità a causa delle nuove restrizioni sul codice dinamico.
Il passaggio a Manifest V3 porta di sicuro miglioramenti in termini di sicurezza e performance (per le nuove od estensioni rifatte da zero con Manifest V3), ma a scapito della flessibilità. Molte estensioni dovranno essere riscritte o modificate per conformarsi alle nuove regole, e alcune potrebbero non essere in grado di mantenere le stesse funzionalità offerte in Manifest V2. Per gli utenti, questo potrebbe significare una riduzione delle opzioni e della potenza di alcune delle estensioni più avanzate disponibili oggi.