Se cambiará la habilitación de chrome.userScripts en las extensiones de Chrome

Justin Lulejian
Justin Lulejian

Fecha de publicación: 29 de mayo de 2025

A partir de Chrome 138, hay una serie de cambios en las secuencias de comandos del usuario (API de chrome.userScripts) en las extensiones de Chrome, que se enfocan en mejorar la seguridad y brindar a los usuarios un control más detallado. Esta actualización aborda los comentarios valiosos que recibimos de la comunidad de desarrolladores y sus usuarios.

Anteriormente, para habilitar las secuencias de comandos del usuario, era necesario activar el botón de activación global Modo para desarrolladores en Chrome. Nos informaste que este enfoque tenía algunas limitaciones clave en relación con la seguridad, la funcionalidad y la empresa.

En particular, la dependencia del botón de activación global Modo de desarrollador tenía los siguientes problemas:

  • Riesgos de seguridad: Una vez que se habilitó el modo de desarrollador, las extensiones nuevas que solicitaban el permiso userScripts adquirieron automáticamente la capacidad de ejecutar secuencias de comandos de usuario, posiblemente sin el consentimiento explícito del usuario ni el conocimiento de los riesgos asociados con cada extensión nueva.
  • Sobrecarga de funciones: El botón de activación del Modo de desarrollador controla varios otros permisos orientados a los desarrolladores, lo que hace que sea menos preciso para administrar el permiso específico de ejecutar secuencias de comandos de usuario.
  • Desafíos empresariales: Muchas empresas prefieren no habilitar el modo desarrollador en dispositivos administrados, lo que les impide implementar o usar extensiones que dependen de la API de chrome.userScripts.

Para abordar estas inquietudes y mejorar la seguridad y la usabilidad de las extensiones de Chrome, estamos realizando la transición del botón de activación global Modo de desarrollador a un nuevo botón de activación Permitir secuencias de comandos de usuario por extensión.

Este nuevo botón de activación, al que se puede acceder en la página de detalles de la extensión desde Chrome 138 (chrome://extensions/?id=<your_extension_id>), permite a los usuarios controlar de forma explícita la capacidad de la extensión para ejecutar secuencias de comandos de usuario de forma individual. Esto proporciona un control más detallado y reduce los posibles riesgos de seguridad.

Diálogo para permitir secuencias de comandos del usuario.

Durante el período de transición, las versiones de Chrome anteriores a la 138 seguirán usando el botón de activación Modo de desarrollador, mientras que las versiones 138 o posteriores usarán el nuevo botón de activación Permitir secuencias de comandos de usuario por extensión. En el primer inicio de la versión 138 y versiones posteriores, una migración única habilitará automáticamente el nuevo botón de activación para las extensiones existentes a las que se les otorgó el permiso userScripts si el botón de activación Modo de desarrollador está habilitado. Todas las extensiones nuevas que se instalen después de la migración tendrán desactivada la opción Permitir secuencias de comandos de usuario de forma predeterminada.

Además, para verificar la disponibilidad de la API de User Scripts, las extensiones previamente debían intentar acceder a chrome.userScripts. Esto generaba un error si el modo de desarrollador estaba inhabilitado. A partir de Chrome 138, el comportamiento se alinea con otras APIs, y la API no se define si no está disponible. Sin embargo, te recomendamos que realices esta verificación para determinar si la API está disponible, ya que abarca todas las versiones de 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;
  }
}

Los administradores que antes administraban las secuencias de comandos de los usuarios inhabilitando el modo de desarrollador ahora deben usar la política blocked_permissions o la Consola del administrador de Google para controlar las extensiones que usan la API de chrome.userScripts. Estamos evaluando más cambios en la forma en que se puede controlar el acceso a chrome.userScripts para las extensiones instaladas de forma forzosa, así que no te pierdas las notas de lanzamiento del administrador para obtener actualizaciones.

Creemos que este cambio les brindará a los usuarios un control más preciso sobre las capacidades de las extensiones, lo que mejorará la seguridad y brindará una experiencia más transparente. Recomendamos a los desarrolladores de extensiones que actualicen su documentación para reflejar este cambio y garantizar una transición sin problemas para sus usuarios.

Puedes obtener más información sobre los cambios y el nuevo comportamiento en nuestra documentación.

Agradecemos los comentarios de la comunidad de desarrolladores que impulsaron esta mejora y mantenemos nuestro compromiso de crear una experiencia segura y fácil de usar para todos.