A ativação de chrome.userScripts nas extensões do Chrome está mudando

Justin Lulejian
Justin Lulejian

Publicado em 29 de maio de 2025

A partir do Chrome 138, há uma série de mudanças nos scripts do usuário (API chrome.userScripts) nas extensões do Chrome, com foco em melhorar a segurança e oferecer aos usuários um controle mais granular. Esta atualização aborda o feedback valioso recebido da comunidade de desenvolvedores e dos usuários.

Antes, ativar scripts do usuário exigia ativar a chave global Modo de desenvolvedor no Chrome. Vocês disseram que essa abordagem tinha algumas limitações importantes relacionadas à segurança, funcionalidade e empresa.

Especificamente, a dependência do botão Modo de desenvolvedor global tinha os seguintes problemas:

  • Riscos de segurança:depois que o modo de desenvolvedor foi ativado, novas extensões que solicitavam a permissão userScripts passaram a ter a capacidade de executar scripts de usuário, possivelmente sem o consentimento explícito do usuário ou sem que ele soubesse dos riscos associados a cada nova extensão.
  • Sobrecarga de funcionalidade:o botão Modo de desenvolvedor controla várias outras permissões voltadas para desenvolvedores, tornando-o menos preciso para gerenciar a permissão específica para executar scripts do usuário.
  • Desafios empresariais:muitas empresas preferem não ativar o modo de desenvolvedor em dispositivos gerenciados, o que impede que elas implantem ou usem extensões que dependem da API chrome.userScripts.

Para resolver essas questões e melhorar a segurança e a usabilidade das extensões do Chrome, estamos fazendo a transição do botão Modo de desenvolvedor global para um novo botão Permitir scripts do usuário por extensão.

Esse novo botão, acessível na página de detalhes da extensão do Chrome 138 (chrome://extensions/?id=<your_extension_id>), permite que os usuários controlem explicitamente a capacidade da extensão de executar scripts de usuário individualmente. Isso proporciona um controle mais granular e reduz os possíveis riscos de segurança.

Caixa de diálogo &quot;Permitir scripts de usuário&quot;.

Durante o período de transição, as versões do Chrome anteriores à 138 vão continuar usando o botão Modo de desenvolvedor, enquanto as versões 138 ou mais recentes vão usar o novo botão Permitir scripts do usuário por extensão. Na primeira vez que a versão 138 e mais recentes forem lançadas, uma migração única vai ativar automaticamente o novo botão para extensões existentes que receberam a permissão userScripts, se o botão Modo de desenvolvedor estiver ativado. Todas as novas extensões instaladas após a migração terão o botão Permitir scripts do usuário desativado por padrão.

Além disso, para verificar a disponibilidade da API User Scripts, as extensões precisavam tentar acessar chrome.userScripts. Isso gerava um erro se o modo de desenvolvedor estava desativado. No Chrome 138 e versões mais recentes, o comportamento é alinhado com outras APIs, e a API é indefinida se estiver indisponível. No entanto, recomendamos esta verificação para determinar se a API está disponível, já que ela abrange todas as versões do 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;
  }
}

Os administradores que antes gerenciavam scripts de usuário desativando o modo de desenvolvedor agora precisam usar a política blocked_permissions ou o Google Admin Console para controlar extensões que usam a API chrome.userScripts. Estamos avaliando outras mudanças na forma como o acesso ao chrome.userScripts pode ser controlado para extensões instaladas à força. Fique de olho nas notas de lançamento para administradores e confira as atualizações.

Acreditamos que essa mudança vai dar aos usuários um controle mais preciso sobre os recursos de extensão, melhorando a segurança e tornando a experiência mais transparente. Recomendamos que os desenvolvedores de extensões atualizem a documentação para refletir essa mudança e garantir uma transição tranquila para os usuários.

Saiba mais sobre as mudanças e o novo comportamento na nossa documentação.

Agradecemos o feedback da comunidade de desenvolvedores que impulsionou essa melhoria e continuamos comprometidos em criar uma experiência segura e fácil de usar para todos.