Permissoes de fornecedores
Controle o que os scripts de cada fornecedor podem fazer no seu site. Saiba o que cada permissão cobre e o que o bloqueio previne.
A visao Dependencies (dependencias) no painel do cside lista todos os fornecedores e dominios que entregam scripts ao seu site. Abra um fornecedor para ver sua grade de permissoes, organizada em seis categorias: Resource types, Sensitive APIs, Storage, Event listeners, Form field access e Other. Cada capacidade tem um controle Allow e um Block; quando nenhum dos dois e escolhido, a permissao fica indefinida e o fornecedor mantem seu comportamento padrao.
Esta pagina explica cada permissao, o que ela cobre e o que o bloqueio previne.
Como funcionam as permissoes
Cada permissao tem tres estados:
- Allow (marca de verificacao verde): os scripts do fornecedor podem usar essa capacidade.
- Block (escudo vermelho): o cside impede que os scripts do fornecedor usem essa capacidade.
- Unset (padrao): o fornecedor mantem seu comportamento normal e o cside continua monitorando o que ele faz. Ao passar o mouse sobre um controle selecionado aparece Clear; clique nele para devolver a permissao a este estado.
As permissoes se aplicam por fornecedor, para toda a sua equipe. Quando um script nao corresponde a um fornecedor conhecido, voce pode definir as mesmas permissoes no dominio dele.
Quando voce bloqueia uma permissao, o cside aplica sua decisao no navegador. As tentativas bloqueadas continuam sendo registradas, entao voce pode ver o que um fornecedor tentou fazer depois que voce o restringiu.
Pense nas permissoes como privilegio minimo para terceiros: cada fornecedor recebe apenas as capacidades de que precisa para fazer seu trabalho.
O selo “Used”
Ao lado de uma permissao, um selo azul Used significa que o cside observou de fato os scripts desse fornecedor exercendo essa capacidade. E apenas informativo: nao altera nem define o estado Allow/Block, e uma capacidade pode estar Unset e ainda assim aparecer como Used. Use-o junto com “Verifique o comportamento registrado do fornecedor” abaixo para decidir o que e seguro bloquear.
Tipos de recursos
Essas permissoes controlam o que os scripts de um fornecedor podem carregar, incorporar ou executar nas suas paginas.
| Permissao | O que cobre | O que o bloqueio previne |
|---|---|---|
| JavaScript | Carregamento e execucao de JavaScript, incluindo codigo adicional trazido em tempo de execucao com tags de script | Impede que o fornecedor traga codigo novo e nao revisado depois que a pagina carrega. E assim que um fornecedor comprometido normalmente escala um ataque. |
| Network requests | Envio e busca de dados pela rede com fetch e XHR | Impede que o fornecedor envie dados do navegador para os proprios servidores. Este e o principal canal de exfiltracao de dados. |
| Frames | Incorporacao de iframes e outras paginas aninhadas | Impede sobreposicoes de iframes ocultos, prompts de login falsos e injecao de interface no estilo clickjacking. |
| Objects | Incorporacao de conteudo de plugins como <object> e <embed> | Impede conteudo de plugins legados, um caminho de injecao antigo mas ainda explorado. |
| Workers | Execucao de web workers e service workers | Impede scripts em segundo plano que rodam fora da vista, interceptam requisicoes ou continuam ativos depois que o usuario sai da pagina. |
| Media | Carregamento de audio e video | Impede carregamentos indesejados de audio ou video, incluindo midia usada para rastreamento ou fraude de anuncios. |
| Stylesheets | Carregamento de folhas de estilo CSS externas | Impede injecao de estilos que pode ocultar elementos da pagina, sobrepor interfaces falsas ou vazar dados digitados atraves de seletores CSS. |
| Prefetch | Prefetch e preload de recursos | Impede o carregamento especulativo de recursos do fornecedor, que pode vazar sinais de navegacao antes que o usuario interaja. |
| Manifests | Carregamento de manifests de aplicativos web | Impede que o fornecedor forneca um manifest que altera como seu site e instalado ou se comporta como um aplicativo. |
| Images | Carregamento de imagens externas | Impede carregamentos de imagens, incluindo pixels de rastreamento: imagens minusculas usadas para enviar dados para fora. |
| Fonts | Carregamento de fontes externas | Impede carregamentos de fontes do fornecedor, um canal discreto para rastreamento e fingerprinting. |
APIs sensiveis
Essas permissoes controlam o acesso ao hardware do dispositivo e a APIs do navegador que transformam strings em codigo executavel.
| Permissao | O que cobre | O que o bloqueio previne |
|---|---|---|
| Camera | Acesso a camera do dispositivo | Impede que scripts solicitem acesso a camera, assim os usuarios nunca veem um prompt que poderiam aceitar por engano. |
| Screen capture | Gravacao da tela ou de uma janela | Impede que scripts solicitem gravacao de tela, o que pode expor qualquer coisa visivel na tela do usuario. |
| Location | Leitura da localizacao geografica do visitante | Impede que scripts solicitem a localizacao fisica dos seus usuarios. |
| Microphone | Acesso ao microfone do dispositivo | Impede que scripts solicitem acesso ao microfone e gravem audio. |
| Eval | Execucao de strings como codigo com eval() | Impede uma tecnica comum de ofuscacao: skimmers frequentemente escondem o payload real em uma string e o executam com eval(). |
| Function constructor | Execucao de strings como codigo com o construtor Function | Impede a outra forma principal de executar uma string como codigo, fechando a brecha que sobra quando apenas o eval() e bloqueado. |
| document.write | Reescrita da pagina com document.write | Impede que o fornecedor injete marcacao e scripts arbitrarios diretamente no documento enquanto ele carrega. |
| Inline frames | Injecao de conteudo de frames inline via srcdoc | Impede que o fornecedor crie frames cujo conteudo vem de uma string em vez de uma URL, uma forma de contrabandear codigo que nenhuma lista de hosts permitidos cobre. |
Armazenamento
Essas permissoes controlam o acesso aos dados armazenados no navegador.
| Permissao | O que cobre | O que o bloqueio previne |
|---|---|---|
| Cookies | Leitura e gravacao de cookies | Impede que o fornecedor leia identificadores de sessao ou tokens e plante seus proprios cookies de rastreamento. |
| Local storage | Leitura e gravacao de armazenamento persistente do navegador | Impede o acesso a dados persistidos, que frequentemente incluem identificadores de usuario e informacoes pessoais em cache. |
| Session storage | Leitura e gravacao de armazenamento por aba do navegador | Impede o acesso a dados de sessao por aba, como o estado de um checkout em andamento. |
| IndexedDB | Leitura e gravacao de bancos de dados IndexedDB | Impede o acesso a bancos de dados estruturados do navegador, onde aplicacoes frequentemente armazenam conjuntos maiores de dados de usuarios. |
Event listeners
Essas permissoes controlam se um fornecedor pode observar como os usuarios interagem com as suas paginas.
| Permissao | O que cobre | O que o bloqueio previne |
|---|---|---|
| Clicks | Rastreamento de onde os visitantes clicam | Impede o rastreamento de cliques nas suas paginas, incluindo a captura do que os usuarios tocam e selecionam. |
| Keystrokes | Rastreamento do que os visitantes digitam | Impede keylogging (registro de teclas). Um script que escuta as teclas digitadas pode capturar tudo o que um usuario digita, incluindo credenciais e numeros de cartao. |
Acesso a campos de formulario
Essas permissoes controlam quais campos de formulario os scripts de um fornecedor podem ler. Elas sao centrais para prevenir o roubo de dados de formularios, incluindo skimming no estilo Magecart, e apoiam os requisitos 6.4.3 e 11.6.1 do PCI DSS 4.0.1 para paginas de pagamento.
| Permissao | O que cobre | O que o bloqueio previne |
|---|---|---|
| Email fields | Campos de endereco de e-mail | Impede a coleta de enderecos de e-mail que seus usuarios digitam. |
| File uploads | Campos de upload de arquivos | Impede o acesso a arquivos que os usuarios anexam, como documentos de identidade ou extratos. |
| Password fields | Campos de senha | Impede a coleta de credenciais em formularios de login e cadastro. |
| Hidden fields | Campos ocultos de formularios | Impede a leitura de campos ocultos, que frequentemente guardam tokens de sessao, tokens CSRF ou IDs internos. |
| Address fields | Campos de endereco | Impede a coleta de enderecos residenciais e de entrega. |
| Search fields | Campos de busca | Impede a captura do que os usuarios buscam no seu site. |
| Phone fields | Campos de numero de telefone | Impede a coleta de numeros de telefone. |
| URL fields | Campos de URL | Impede a leitura de URLs que os usuarios inserem em formularios. |
| Name fields | Campos de nome | Impede a coleta de nomes pessoais. |
| One-time codes | Campos de codigo de login de uso unico | Impede o roubo de codigos de uso unico, que atacantes usam para burlar a MFA. |
| Birthday fields | Campos de data de nascimento | Impede a coleta de datas de nascimento, um dado chave para roubo de identidade. |
| Sex/gender fields | Campos de sexo e genero | Impede a coleta de dados demograficos sensiveis. |
| Credit card fields | Campos de cartao de credito | Impede o skimming de cartao: scripts lendo numeros de cartao enquanto os usuarios os digitam no checkout. |
| Non-sensitive form access | Campos de formulario que nao guardam dados sensiveis | A permissao geral de formularios. O bloqueio impede que o fornecedor leia campos de formulario nao cobertos por uma permissao mais especifica acima. |
Outros
| Permissao | O que cobre | O que o bloqueio previne |
|---|---|---|
| Notifications | Exibicao de notificacoes do navegador | Impede prompts de notificacao e spam de push vindos do fornecedor. |
| Full screen | Colocar a pagina em modo de tela cheia | Impede tomadas de tela cheia usadas para imitar a interface do navegador em sobreposicoes de phishing. |
| Payments | Abertura da caixa de dialogo de pagamento do navegador | Impede que o fornecedor invoque a interface de pagamento do navegador ou sonde capacidades de pagamento. |
| Browser history | Alteracao do historico de navegacao do visitante | Impede manipulacoes de URL que podem disfarcar a pagina em que o usuario realmente esta ou travar o botao de voltar. |
| Clipboard | Leitura e gravacao na area de transferencia | Impede que scripts leiam o que os usuarios copiaram em outros lugares, como senhas ou enderecos de carteiras, e o sequestro da area de transferencia, como a troca de um endereco de pagamento copiado pelo endereco de um atacante. |
| Send messages | Envio de mensagens entre frames com postMessage | Impede que o fornecedor passe dados para outros frames, uma forma comum de mover dados roubados para um iframe controlado pelo atacante. |
| Receive messages | Escuta de mensagens entre frames | Impede que o fornecedor receba instrucoes ou dados de outros frames na pagina. |
| Worker messages | Troca de mensagens com web workers | Impede que o fornecedor mova dados de e para workers em segundo plano, onde e mais dificil observa-los. |
Escolhendo o que bloquear
Voce nao precisa tomar 40 decisoes por fornecedor no primeiro dia. Uma abordagem pratica:
- Comece pelas capacidades que o fornecedor nao tem motivo para usar. A maioria dos fornecedores nunca precisa de teclas digitadas, campos de senha, campos de cartao de credito,
eval()ou da area de transferencia. Bloquear esses itens raramente afeta a funcionalidade. - Verifique o comportamento registrado do fornecedor. A visao Dependencies mostra o que cada fornecedor realmente faz no seu site. Se um fornecedor nunca usou uma capacidade, o bloqueio traz baixo risco.
- Restrinja as paginas onde os dados estao. Em fluxos de checkout e login, priorize as permissoes de campos de formulario e Keystrokes.
- Acompanhe os relatorios depois de bloquear. As tentativas bloqueadas continuam sendo registradas. Um fornecedor que tenta repetidamente algo que voce bloqueou merece investigacao.
Se voce ainda nao ve Dependencies no seu painel, a funcionalidade esta sendo liberada gradualmente. Entre em contato com support@cside.dev para habilitar o recurso para sua equipe.
Paginas relacionadas
- Deteccao de ameacas: como o cside identifica scripts maliciosos automaticamente
- Deteccao de vulnerabilidades: como o cside sinaliza scripts com vulnerabilidades conhecidas
- PCI DSS / PCI Shield: requisitos de scripts para paginas de pagamento
- Logs de auditoria: acompanhe as mudancas de configuracao feitas pela sua equipe
Thanks for your feedback!