Proteside Docs

Scripts

Revise, autorize e bloqueie os scripts que rodam nas suas páginas de pagamento e acompanhe a integridade de cada um.

A página Scripts é o inventário de todos os scripts vistos nas páginas onde o SDK está instalado. O PCI DSS 4.0, requisito 6.4.3, exige exatamente isso: saber quais scripts rodam na página de pagamento, ter uma justificativa para cada um e garantir que eles não mudem sem revisão. O requisito 11.6.1 pede que mudanças sejam detectadas — é o papel da aba Integridade.

Página Scripts com o aviso de recomendações, o aviso de scripts próprios pendentes, as abas Todos e Re-revisão, os filtros e a coluna Status
Inventário de scripts: recomendações (1), autorização em massa (2), abas (3), filtros (4) e status (5).

No topo da página podem aparecer dois avisos:

  • Ver recomendações (1): há decisões sugeridas por políticas de aprovação esperando por você.
  • Autorizar todos os próprios (2): há scripts da própria loja aguardando revisão. Veja como usar mais abaixo.

Como o inventário é montado

O inventário é alimentado pelo SDK nas sessões dos clientes e pelos verificadores do Proteside (o verificador sintético e o verificador no servidor, que recalcula o hash dos scripts externos a cada 6 horas). Cada endereço de script vira uma linha. Scripts inline (escritos dentro do HTML) são identificados pelo próprio conteúdo.

O SDK do Proteside aparece no inventário já autorizado, com método Automático.

Tipos

TipoSignificado
PróprioScript inline ou servido pelo domínio da loja (inclui subdomínios).
TerceiroScript de um fornecedor conhecido, presente no catálogo do Proteside.
DesconhecidoScript de outro domínio que não está no catálogo. Merece mais atenção.

Categorias

Pagamento, Analytics, Publicidade, Funcional, Autenticação, Gerenciador de tags e Desconhecido. A categoria vem do SDK ou do catálogo de fornecedores. Scripts inline e bibliotecas conhecidas servidas pela própria loja (jQuery, WooCommerce, arquivos de build do Next.js ou do Nuxt) entram como Funcional.

Status

StatusSignificado
Precisa revisãoVisto na página e aguardando decisão. É o status de todo script novo.
AutorizadoAprovado por uma pessoa, por uma política ou pela API, com justificativa.
BloqueadoBloqueado por regra. O SDK impede o script quando ele é inserido por JavaScript.
SuspeitoSinalizado por comportamento suspeito.
MaliciosoConfirmado como malicioso. A linha fica destacada em vermelho.
ConfiávelStatus antigo, anterior à autorização com justificativa.
PermitidoStatus antigo, de uma regra de permissão.

Hoje nenhum fluxo do dashboard marca um script como Suspeito ou Malicioso, e não há botão para isso. No dia a dia você vai trabalhar com Precisa revisão, Autorizado e Bloqueado.

Ao lado do status (5) podem aparecer marcadores:

  • ↺ Re-revisão: o conteúdo do script mudou e ele precisa de uma nova decisão.
  • Divergente: o conteúdo atual é diferente do que foi autorizado.
  • Autorização vencida: a validade da autorização passou.
  • Revisão em N dias: a autorização vence em menos de 14 dias.

Encontrar um script

Use as abas Todos e Re-revisão (3) e os filtros (4):

  • Todos / Próprios / Terceiros / Desconhecidos filtram por tipo.
  • Todos os status filtra por status. Cada opção mostra uma dica do que significa.
  • Buscar por URL ou domínio procura no endereço, no domínio e no nome do script.

A lista mostra primeiro os scripts que precisam de revisão e depois os vistos mais recentemente, 50 por página. Os filtros ficam no endereço da página: você pode copiar o link e mandar para alguém da equipe com a mesma visão.

Clique em qualquer linha para abrir o painel de detalhes, com hash, tamanho, quando o script foi visto pela primeira e pela última vez, tipo, categoria e status. O campo Páginas mostra a última página em que o script foi visto, não todas. Para scripts inline, o bloco Conteúdo do script mostra os primeiros 8 KB do código, coletados pelo verificador sintético.

Revisar e autorizar um script

Autorizar é registrar que você conhece o script, sabe por que ele está na página e aceita que ele rode. A justificativa fica guardada como evidência do requisito 6.4.3.

Painel de detalhes do script na aba Autorização, com método, autor, validade, próxima revisão, justificativa e os botões Autorizar e Bloquear
Aba Autorização (1) com a última decisão (2) e os botões Autorizar (3) e Bloquear (4).

Abra o script

Clique na linha do script, ou no menu … da linha e em Ver detalhes.

Confira a aba Autorização

A aba Autorização (1) mostra a última decisão (2): Método, Autorizado por, Revisado em, Válido até, Próxima revisão, a Política que decidiu (se houver) e a Justificativa. Um script nunca revisado mostra "Este script ainda não foi revisado".

Clique em Autorizar

Clique em Autorizar (3). Se o script já estiver autorizado, o botão se chama Reautorizar.

Escreva a justificativa e escolha a validade

Modal Autorizar script com o campo de justificativa, as sugestões, as opções de validade e o botão Autorizar
Justificativa (1), sugestões (2), validade (3) e confirmação (4).

Preencha a Justificativa (1), com no mínimo 10 caracteres. As Sugestões (2) trazem textos prontos para a categoria do script; clicar em uma substitui o que estiver escrito. Em Validade da autorização (3), escolha Sem validade, 90 dias, 180 dias ou 365 dias. Quando a validade vence, o script volta para Precisa revisão — o PCI DSS recomenda revisão periódica.

Confirme

Clique em Autorizar (4). O script passa para Autorizado e o hash atual vira o hash autorizado, que servirá de referência para detectar mudanças.

Toda decisão fica registrada com autor, data, justificativa e validade, e aparece nas evidências PCI DSS e no registro de auditoria.

Autorizar não libera nada no navegador

A autorização é um registro de decisão; ela não é enviada ao SDK. O único efeito no navegador é que regras de bloqueio ativas que casem com o script (pelo domínio, pela URL ou pelo hash) são desativadas. Se o script estava bloqueado por uma regra de domínio, autorizá-lo desbloqueia o domínio inteiro. A mensagem de confirmação pode citar "1 regra(s) de bloqueio desativada(s)" mesmo quando não havia regra; confira em Regras.

Autorizar todos os scripts próprios

Na primeira semana, a maior parte do inventário costuma ser de scripts da própria loja. Em vez de autorizar um por um:

Clique em Autorizar todos os próprios

O botão (2) aparece quando há scripts Próprios com status Precisa revisão.

Escreva uma justificativa única

A mesma justificativa e a mesma validade valem para todos. Use as sugestões de "Próprio" se quiser.

Confirme

Clique em Autorizar. A autorização vale para todos os scripts próprios pendentes da loja, não só os que aparecem na página ou no filtro atual.

Bloquear um script

Escolha Bloquear

No menu … da linha, ou no painel de detalhes, clique em Bloquear (4 no print da aba Autorização).

Registre o motivo

A justificativa é opcional para bloquear, mas registrar o motivo ajuda na auditoria.

Confirme

Clique em Bloquear. O script passa para Bloqueado e o Proteside cria uma regra em Regras, com o nome do script como rótulo. O SDK aplica a regra nas páginas em até 60 segundos, podendo levar alguns minutos por causa de cache.

Bloquear um script externo bloqueia o domínio inteiro

Para scripts de outro endereço, a regra criada é de domínio, com todos os subdomínios. Todos os scripts daquele domínio deixam de carregar, inclusive os que você autorizou (eles continuam aparecendo como Autorizado no inventário). Se o script for Próprio e estiver no domínio da loja, a regra bloqueia os scripts da loja inseridos por JavaScript. Para bloquear um único arquivo, vá em Regras, desative a regra de domínio criada e adicione uma regra Bloquear com alvo URL do script.

Bloquear um script inline não o impede no navegador

Para scripts inline, a regra criada é por hash de conteúdo, e o SDK ainda não aplica esse tipo de regra. O script fica como Bloqueado no inventário e a regra aparece como ativa, mas o código continua rodando. Para impedir um script inline, remova-o do HTML, do tema da loja ou do gerenciador de tags.

Scripts escritos diretamente no HTML da página rodam antes de o SDK carregar e não podem ser impedidos no navegador. Quando isso acontece com um script bloqueado, o inventário mostra um aviso em amarelo. A solução é a mesma: remover a tag do HTML ou do tema. Scripts inseridos por JavaScript, inclusive tags do Google Tag Manager, são bloqueados antes de executar.

Para desfazer um bloqueio, clique em Autorizar no script bloqueado: a regra de bloqueio correspondente é desativada.

Integridade e hash

O hash é a impressão digital do conteúdo do script (SHA-256). Quando você autoriza um script, o hash daquele momento fica guardado como hash autorizado. Se o conteúdo mudar depois, o Proteside percebe.

Painel de detalhes do script na aba Integridade, com o aviso de conteúdo alterado, o status, o hash autorizado e o hash atual e o SRI sugerido
Aviso de mudança (1), status (2), aba Integridade (3), hashes (4) e SRI sugerido (5).

O que acontece quando o conteúdo de um script autorizado muda:

  1. A integridade vira Divergente e o painel mostra um aviso no topo (1).
  2. O script volta para Precisa revisão (2) e entra na aba Re-revisão.
  3. Um alerta Divergência de integridade de script, de severidade alta, é aberto em Alertas.

Na aba Integridade (3) você compara o Hash autorizado com o Hash atual (4) e vê:

IntegridadeSignificado
ÍntegroO conteúdo atual é igual ao autorizado.
DivergenteO conteúdo mudou desde a autorização.
PendenteScript do domínio da loja ainda sem hash calculado.
MonitoradoScript de terceiro cujo conteúdo não pode ser lido pelo navegador; é acompanhado pelo verificador no servidor.
BloqueadoO script está bloqueado.

A Origem do hash diz quem calculou o valor: Conteúdo inline, Download no navegador (CORS), Verificador no servidor, Verificador sintético ou Indisponível. A aba também mostra Versões, Última verificação, Hash alterado em, se o script tem Atributo integrity, o Container GTM e o Fornecedor, quando houver.

SRI sugerido

Quando o verificador consegue calcular, a aba mostra o Subresource Integrity (SRI) sugerido (5). Clique em Copiar atributo SRI e cole o atributo na tag script do seu site. Com ele, o próprio navegador se recusa a executar o arquivo se o conteúdo mudar.

Use SRI só em arquivos com conteúdo fixo, como os que têm a versão no endereço. Se o fornecedor atualizar o arquivo no mesmo endereço, o navegador deixa de carregá-lo.

Tratar a re-revisão

Abra a aba Re-revisão

A aba Re-revisão (3 no print da lista) mostra os scripts cujo conteúdo mudou. O painel abre direto na aba Integridade.

Entenda a mudança

Compare os hashes e, se possível, confirme com o fornecedor ou com sua equipe o que mudou (uma nova versão, uma configuração do gerenciador de tags).

Decida

Clique em Reautorizar com uma nova justificativa ou em Bloquear. Depois, resolva o alerta correspondente em Alertas.

Autorizações vencidas não entram na aba Re-revisão

Quando a validade de uma autorização vence, o script volta para Precisa revisão, mas não aparece na aba Re-revisão. Para encontrá-los, use a aba Todos com o filtro de status Precisa revisão. A aba Re-revisão também pode listar scripts nunca autorizados cujo conteúdo mudou.

Scripts inativos

Scripts que não aparecem há mais de 30 dias ficam ocultos. Para vê-los, marque Mostrar inativos. Eles aparecem com o selo Inativo. O total no topo da página e o contador da aba Todos incluem os inativos.

Quem pode autorizar e bloquear

Só proprietários e administradores da loja autorizam, reautorizam e bloqueiam. Membros e leitores veem o inventário e os detalhes, mas os botões de ação não aparecem para eles.

Próximos passos

Nesta página