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.
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.