Modification de l'activation de chrome.userScripts dans les extensions Chrome

Justin Lulejian
Justin Lulejian

Publié le 29 mai 2025

À partir de Chrome 138, une série de modifications est apportée aux scripts utilisateur (API chrome.userScripts) dans les extensions Chrome. Elles visent à améliorer la sécurité et à offrir aux utilisateurs un contrôle plus précis. Cette mise à jour répond aux commentaires précieux reçus de la communauté des développeurs et de leurs utilisateurs.

Auparavant, pour activer les scripts utilisateur, vous deviez activer le bouton d'activation du mode développeur global dans Chrome. Vous nous avez indiqué que cette approche présentait certaines limites importantes en termes de sécurité, de fonctionnalités et d'entreprise.

Plus précisément, l'utilisation du bouton d'activation/de désactivation du mode développeur global présentait les problèmes suivants:

  • Risques de sécurité:une fois le mode développeur activé, les nouvelles extensions qui demandaient l'autorisation userScripts pouvaient automatiquement exécuter des scripts utilisateur, potentiellement sans le consentement explicite de l'utilisateur ni sa connaissance des risques associés à chaque nouvelle extension.
  • Surcharge de fonctionnalités:le bouton d'activation/de désactivation du mode développeur contrôle plusieurs autres autorisations orientées développeur, ce qui le rend moins précis pour gérer l'autorisation spécifique d'exécuter des scripts utilisateur.
  • Défis pour les entreprises:de nombreuses entreprises préfèrent ne pas activer le mode développeur sur les appareils gérés, ce qui les empêche de déployer ou d'utiliser des extensions qui reposent sur l'API chrome.userScripts.

Pour répondre à ces préoccupations et améliorer la sécurité et la facilité d'utilisation des extensions Chrome, nous passons du bouton d'activation/de désactivation global Mode développeur à un nouveau bouton Autoriser les scripts utilisateur par extension.

Ce nouveau bouton d'activation/de désactivation, accessible sur la page d'informations de l'extension à partir de Chrome 138 (chrome://extensions/?id=<your_extension_id>), permet aux utilisateurs de contrôler explicitement la capacité de l'extension à exécuter des scripts utilisateur par extension. Cela offre un contrôle plus précis et réduit les risques de sécurité potentiels.

Boîte de dialogue &quot;Autoriser les scripts utilisateur&quot;.

Pendant la période de transition, les versions de Chrome antérieures à la version 138 continueront d'utiliser le bouton Mode développeur, tandis que les versions 138 ou ultérieures utiliseront le nouveau bouton Autoriser les scripts utilisateur par extension. Lors du premier lancement de la version 138 ou ultérieure, une migration unique active automatiquement le nouveau bouton d'activation pour les extensions existantes auxquelles l'autorisation userScripts a été accordée si le bouton d'activation du mode développeur est activé. Par défaut, la bascule Autoriser les scripts utilisateur sera désactivée pour toutes les nouvelles extensions installées après la migration.

De plus, pour vérifier la disponibilité de l'API User Scripts, les extensions devaient auparavant tenter d'accéder à chrome.userScripts. Une erreur était générée si le mode développeur était désactivé. À partir de Chrome 138, le comportement est aligné sur les autres API et l'API est indéfinie si elle n'est pas disponible. Toutefois, nous vous recommandons de procéder à cette vérification pour déterminer si l'API est disponible, car elle couvre toutes les versions 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;
  }
}

Les administrateurs qui géraient auparavant les scripts utilisateur en désactivant le mode développeur doivent désormais utiliser la règle blocked_permissions ou la console d'administration Google pour contrôler les extensions qui utilisent l'API chrome.userScripts. Nous évaluons d'autres modifications de la façon dont l'accès chrome.userScripts peut être contrôlé pour les extensions installées de force. Tenez-vous donc informé des notes de version pour les administrateurs.

Nous pensons que ce changement permettra aux utilisateurs de contrôler plus précisément les fonctionnalités des extensions, ce qui renforcera la sécurité et offrira une expérience plus transparente. Nous encourageons les développeurs d'extensions à mettre à jour leur documentation pour refléter ce changement et assurer une transition en douceur pour leurs utilisateurs.

Pour en savoir plus sur ces modifications et ce nouveau comportement, consultez notre documentation.

Nous apprécions les commentaires de la communauté des développeurs qui ont conduit à cette amélioration et nous restons engagés à créer une expérience sécurisée et conviviale pour tous.