Skip to main content
Blog
Blog

Como extensões do Chrome podem remover cabeçalhos de segurança

Muitos navegadores atualizam extensões automaticamente, sem aprovação específica ou opt-in. Isso significa que uma extensão que funciona de um jeito hoje pode se comportar de forma completamente diferente amanhã, sem que você seja avisado.

Jul 21, 2025 4 min read
title-of-this-article-on-black-and-blue-background

Resumo: atualização silenciosa de extensão que remove cabeçalhos CSP ao abrigo da cláusula de prioridade do utilizador do W3C

  • CSP não é absoluto: Toda a gente trata o CSP como uma fronteira rígida, mas a spec CSP3 diz explicitamente que a política não deve interferir com add-ons porque o user agent tem prioridade, o que significa que uma extensão pode remover as tuas 31 diretivas e o teu avô nunca veria um aviso de consentimento.
  • A cside vê a remoção: A cside deteta comportamento em runtime do navegador depois de o pedido já ter saído do teu controlo, portanto quando uma extensão silenciosamente atualizada remove precisamente o cabeçalho que enviaste para proteger uma página de pagamento, o comportamento é o alerta, não um report-uri ausente que nunca dispara.
  • Adicione observação em runtime: É pouco provável que o W3C reescreva a cláusula de prioridade no teu prazo, portanto a decisão é se continuas a enviar CSP como a tua única defesa client-side ou se adicionas observação de scripts em runtime que sobrevive à extensão que um utilizador instalou há seis anos e esqueceu.

Sem tempo? Veja o bloqueio de Magecart e skimmers no navegador da cside. Cobre tudo o que se segue numa única implementação.

Quando as Content Security Policies (CSP) foram lançadas, o escopo inicial foi pensado para mitigar Cross-Site Scripting (XSS) e injeções maliciosas no lado do cliente por meio de recursos carregados pelo cliente. Com o tempo, a CSP evoluiu e hoje conta com um total de 31 diretivas, com diferentes níveis de suporte entre os navegadores e 3 formatos distintos de relatório.

Esses cabeçalhos permitem que o proprietário de um site defina quais fontes são confiáveis para carregar JavaScript, fontes tipográficas, folhas de estilo ou iFrames. Também é possível definir conexões externas para exfiltração de dados. Uma CSP bem implementada pode prevenir comportamentos indesejados. Mas a CSP não é lá muito amigável e tem algumas falhas importantes, você pode ler sobre isso aqui.

Dito isso, uma extensão de navegador deveria ser capaz de remover esses cabeçalhos silenciosamente?

A lógica da especificação

"A política aplicada a um recurso não deve interferir no funcionamento de recursos do agente de usuário, como complementos, extensões ou bookmarklets. Esse tipo de recurso geralmente coloca a prioridade do usuário acima dos autores da página, conforme defendido em [HTML-DESIGN]."

Fonte (W3C)

Em termos simples: o seu navegador é o seu cliente. O seu cliente tem prioridade sobre a segurança da página que você visita. Isso faz sentido. Se não fosse assim, é provável que os navegadores fizessem isso de qualquer maneira. Hoje em dia, os navegadores podem simplesmente optar por não seguir as especificações. Uma especificação do W3C costuma ser vista como um objetivo final alcançado por meio de compromissos ao longo do caminho.

No entanto…

Todo mundo enxerga o problema aqui, certo?

Minha preocupação:

"Tudo bem, W3C, mas meu avô não saberia que, ao instalar uma extensão, está permitindo que ela remova recursos essenciais de segurança dos sites."

O problema vai além disso. Muitos navegadores atualizam extensões automaticamente, sem aprovação específica ou opt-in. Isso significa que uma extensão que funciona de um jeito hoje pode se comportar de forma completamente diferente amanhã, sem que você seja avisado.

Infelizmente, ao longo da minha carreira, percebi que as pessoas geralmente não pensam nos pais ou avós quando desenvolvem tecnologia. Algo ignorado inconscientemente, ou talvez outra coisa, um dia seremos velhos e nossos filhos poderão fazer o mesmo conosco. Por que somos assim?

Navegadores são máquinas de funcionalidades. Segurança é uma funcionalidade. Se preocupações sérias de segurança surgem, eventualmente algo é feito por pressão externa e comoção pública. Mas a prioridade continua sendo funcionalidades chamativas, e segurança simplesmente não é tratada como prioridade número 1.

Então, qual seria a solução?

Isso vai além do escopo do W3C, mas deveria fazer parte de um framework mais amplo de segurança de navegadores, incentivando uma postura autorregulada e consciente de segurança por parte das empresas que desenvolvem navegadores.

Fico me perguntando: por que não tornar isso um opt-in explícito?

Se uma extensão, na instalação ou na atualização, adicionar a funcionalidade de remover ou modificar cabeçalhos de segurança, o usuário deveria ser informado e precisaria aprovar esse comportamento.

Modal de alerta proposto pedindo ao usuário que aprove a alteração de cabeçalhos de segurança por uma extensão
Design proposto para um modal de alerta

Segurança no lado do cliente é um espaço de problemas interessante, o assunto acima é apenas um entre muitos que estão fundamentalmente mal implementados e representam riscos reais. Embora eu levante isso como uma questão no nível do W3C, trata-se, na prática, de um problema de segurança criado pelo próprio design dos navegadores.

Tem muito mais por vir. Proteja seus clientes, experimente o cside.

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks, web security is not an enterprise-only problem.

Monitore e proteja seus scripts de terceiros

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Comece grátis ou experimente o Business com um teste de 14 dias.

Interface do painel cside mostrando monitoramento de scripts e análises de segurança
Related Articles
Agende uma demonstração

Quando é um bom momento para conversar?

Você passou um tempo no nosso site e adoraríamos conhecer você. Vamos agendar um horário para ver onde podemos ajudar.

Vamos mostrar:

Quais scripts de terceiros estão rodando no seu site agora
Como você está em relação aos requisitos 6.4.3 e 11.6.1 do PCI DSS
Qual parte do seu tráfego é de bots e agentes de IA

Procurando horários livres…

Apenas humanos de verdade. A gente saberia.

Problemas para agendar? Abrir o agendador em uma nova aba

O que você está tentando resolver?

Conte em uma linha e voltamos com algo útil, não com um discurso genérico.

Costumamos ajudar com:

Ver quais scripts de terceiros rodam no seu site
Evidências para PCI DSS 6.4.3 e 11.6.1
Bots, agentes de IA e roubo de contas

Prefere agendar um horário? Escolher um horário