La disattivazione di chrome.userScripts nelle estensioni di Chrome sta cambiando

Justin Lulejian
Justin Lulejian

Data di pubblicazione: 29 maggio 2025

A partire da Chrome 138, sono state apportate una serie di modifiche agli script utente (API chrome.userScripts) nelle estensioni di Chrome, incentrate sul miglioramento della sicurezza e sul fornire agli utenti un controllo più granulare. Questo aggiornamento tiene conto dei feedback utili ricevuti dalla community di sviluppatori e dai loro utenti.

In precedenza, per attivare gli script utente era necessario attivare l'opzione di attivazione/disattivazione Modalità sviluppatore in Chrome. Ci risulta che questo approccio presentava alcune limitazioni chiave per quanto riguarda sicurezza, funzionalità ed esigenze aziendali.

In particolare, l'utilizzo dell'opzione di attivazione/disattivazione globale della modalità sviluppatore ha comportato i seguenti problemi:

  • Rischi per la sicurezza: una volta attivata la modalità sviluppatore, le nuove estensioni che richiedevano l'autorizzazione userScripts ottenevano automaticamente la possibilità di eseguire script utente, potenzialmente senza il consenso esplicito dell'utente o la consapevolezza dei rischi associati a ogni nuova estensione.
  • Sovraccarico di funzionalità:l'opzione di attivazione/disattivazione Modalità sviluppatore controlla diverse altre autorizzazioni orientate agli sviluppatori, il che la rende meno precisa per la gestione dell'autorizzazione specifica per l'esecuzione di script utente.
  • Sfide aziendali: molte aziende preferiscono non attivare la modalità sviluppatore sui dispositivi gestiti, il che impedisce loro di eseguire il deployment o di utilizzare estensioni che si basano sull'API chrome.userScripts.

Per risolvere questi problemi e migliorare la sicurezza e l'usabilità delle estensioni di Chrome, stiamo passando dall'opzione globale Modalità sviluppatore a una nuova opzione Consenti script utente per ogni estensione.

Questo nuovo pulsante di attivazione/disattivazione, accessibile nella pagina dei dettagli dell'estensione a partire da Chrome 138 (chrome://extensions/?id=<your_extension_id>), consente agli utenti di controllare esplicitamente la capacità dell'estensione di eseguire script utente su base singola. In questo modo avrai un maggiore controllo e ridurrai i potenziali rischi per la sicurezza.

La finestra di dialogo Consenti script utente.

Durante il periodo di transizione, le versioni di Chrome precedenti alla 138 continueranno a utilizzare l'opzione Modalità sviluppatore, mentre le versioni 138 o successive utilizzeranno la nuova opzione Consenti script utente per estensione. Al primo avvio della versione 138 e delle versioni successive, una migrazione una tantum attiverà automaticamente il nuovo pulsante di attivazione/disattivazione per le estensioni esistenti a cui è stata concessa l'autorizzazione userScripts se è attivato il pulsante di attivazione/disattivazione della modalità Sviluppatore. Per tutte le nuove estensioni installate dopo la migrazione, l'opzione di attivazione/disattivazione Consenti script utente sarà impostata su Off per impostazione predefinita.

Inoltre, per verificare la disponibilità dell'API User Scripts, in precedenza le estensioni dovevano tentare di accedere a chrome.userScripts. Viene generato un errore se la modalità sviluppatore è disabilitata. A partire da Chrome 138, il comportamento è in linea con altre API e l'API non è definita se non è disponibile. Tuttavia, ti consigliamo di eseguire questo controllo per determinare se l'API è disponibile, in quanto copre tutte le versioni di Chrome:

function isUserScriptsAvailable() {
  try {
    // Method call which throws if API permission or toggle is not enabled.
    chrome.userScripts.getScripts();
    return true;
  } catch {
    // Not available.
    return false;
  }
}

Gli amministratori che in precedenza gestivano gli script utente disattivando la modalità sviluppatore ora devono utilizzare il criterio blocked_permissions o la Console di amministrazione Google per controllare le estensioni che utilizzano l'API chrome.userScripts. Stiamo valutando ulteriori modifiche al modo in cui è possibile controllare l'accesso chrome.userScripts per le estensioni installate forzatamente, quindi continua a seguire le note di rilascio per gli amministratori per gli aggiornamenti.

Riteniamo che questa modifica fornisca agli utenti un controllo più preciso sulle funzionalità delle estensioni, migliorando la sicurezza e l'esperienza. Invitiamo gli sviluppatori di estensioni ad aggiornare la documentazione in modo da riflettere questa modifica e garantire una transizione senza problemi per i loro utenti.

Per scoprire di più sulle modifiche e sul nuovo comportamento, consulta la nostra documentazione.

Apprezziamo il feedback della community di sviluppatori che ha contribuito a questo miglioramento e ci impegniamo a creare un'esperienza sicura e intuitiva per tutti.