Skip to main content
Blog
Blog Attacks

Contentores Sombra do GTM em Plataformas de Jogo Multimarca: o Que São e Como Detetá-los

Contentores GTM não autorizados podem executar qualquer JavaScript nos seus domínios de jogo. Como surgem os contentores sombra, o que fazem e porque as ferramentas não os detetam.

Jun 25, 2026 16 min read
Capa escura do blog cside com uma onda de pixels azuis e uma checklist sobre contentores sombra do GTM em plataformas de jogo
Índice

Se a sua plataforma gere 70 ou mais marcas de casino, o Google Tag Manager está quase certamente a ser executado em todos os domínios. E, nesses domínios, o número de IDs de contentor ativos que a sua equipa de segurança reviu formalmente é provavelmente muito inferior ao número que está de facto a ser executado nos navegadores dos jogadores. Essa lacuna é o problema dos contentores sombra do GTM. No Q1 de 2025, a cside detetou mais de 300.000 sinais de ataque em sites monitorizados, sendo a execução não autorizada de scripts através de gestores de tags um dos vetores de ataque mais consistentes no segmento iGaming. Ao trabalhar com operadores de jogo multimarca, tenho visto esta lacuna entre os contentores que as equipas de segurança conhecem e os contentores que estão efetivamente a ser executados nos navegadores dos jogadores aumentar a cada marca acrescentada a um portefólio.

O que é, na realidade, um contentor GTM e porque é que importa para a segurança

Resposta rápida: Um contentor do Google Tag Manager é um ambiente de execução de JavaScript carregado no seu domínio com acesso total ao DOM, aos cookies, ao armazenamento do navegador e aos pedidos de rede. Qualquer tag publicada dentro desse contentor é executada com as mesmas permissões que o seu próprio código first-party. Um ID de contentor não autorizado no seu domínio equivale a conceder a uma parte desconhecida acesso de escrita à sua interface voltada para o jogador.**

O Google Tag Manager foi concebido para permitir que não-programadores implementem JavaScript em sites em produção sem envolvimento da engenharia. Essa é a sua principal proposta de valor para as equipas de marketing e de análise. Do ponto de vista da segurança, essa mesma funcionalidade significa que um único ID de contentor num modelo de site é um contexto de execução aberto para qualquer pessoa com direitos de publicação nesse contentor. Para ilustrar a escala do problema: um único contentor GTM pode disparar 48 ou mais scripts-filho, e cada um desses scripts pode carregar mais dependências. A cadeia de carregamento de fornecedores é uma árvore, não uma lista, e a maioria das equipas de segurança só conhece a raiz.

Quando as equipas de segurança auditam a sua superfície de ataque, tendem a concentrar-se em:

  • Infraestrutura e APIs do lado do servidor
  • Autenticação e gestão de sessões
  • Scripts de terceiros conhecidos na base de código

O que raramente é auditado é o próprio inventário de contentores GTM: que IDs de contentor estão ativos em que domínios, quem tem acesso de publicação e que tags estão atualmente configuradas para disparar. Numa plataforma multimarca com 70 a 200 domínios, este inventário quase nunca é mantido com rigor de segurança.

O ENISA Threat Landscape for Supply Chain Attacks identifica o comprometimento de scripts e dependências de terceiros como uma das principais categorias de ataque em crescimento. Os contentores GTM estão no centro deste risco porque são, em simultâneo, confiados pelo navegador, controlados por pessoal alheio à segurança e capazes de executar código arbitrário. Para uma visão mais alargada de como as dependências de terceiros se tornam vetores de ataque antes de chegarem ao seu gestor de tags, vale a pena compreender por si só o padrão de ataque à cadeia de abastecimento.

Como surgem os contentores sombra do GTM nas plataformas de jogo

Resposta rápida: Os contentores sombra chegam aos domínios de iGaming através de quatro vias principais: equipas de afiliação a incorporar os seus próprios IDs de contentor durante a configuração de campanhas, pessoal de agências a adicionar contentores em lançamentos de novas marcas sem revisão de engenharia, credenciais comprometidas que dão aos atacantes acesso à conta GTM, e atalhos de programadores em que um ID de contentor de teste é promovido para produção e nunca removido.**

O termo "sombra" não implica necessariamente intenção maliciosa no momento da inserção. Muitos contentores sombra começam como decisões operacionais legítimas que nunca chegaram a ser limpas ou revistas. Mas criam contextos de execução persistentes e não monitorizados que podem ser explorados muito depois de o seu propósito original ter terminado.

Eis as quatro origens mais comuns observadas em plataformas de iGaming multimarca:

  • Adições de contentores por equipas de afiliação: uma equipa de marketing de performance fecha um acordo com uma rede de afiliação que exige o disparo de um pixel através do GTM. O afiliado fornece o seu próprio ID de contentor. O marketing adiciona-o diretamente ao modelo de domínio sem abrir um ticket de segurança. A partir desse momento, o contentor dispara em todas as páginas voltadas para o jogador.

  • Lançamentos de novas marcas: durante o lançamento acelerado de uma marca, uma agência ou um programador adiciona um contentor GTM temporário para prototipar análises e rastreio. Após o lançamento, o contentor continua ativo porque ninguém assume a tarefa de o desativar.

  • Credenciais GTM comprometidas: um agente de ameaça obtém acesso a um contentor GTM autorizado existente através de um prestador de marketing vítima de phishing ou de um ataque de credential stuffing a uma conta Google associada ao contentor. O agente publica uma nova tag maliciosa dentro de um contentor já considerado de confiança.

  • Atalhos de programadores: um ID de contentor de QA ou de staging fica codificado de forma fixa (hard-coded) num modelo partilhado durante a construção de um site. Quando o modelo entra em produção em vários domínios, o contentor de staging vai junto, e os contentores de staging têm tipicamente um acesso de publicação menos controlado.

Em todos estes casos, os registos de rede da plataforma mostram a mesma entrada: um pedido GET bem-sucedido a www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX. O ID do contentor é visível no URL, mas não é cruzado com um inventário aprovado de forma automatizada.

O que pode ser executado dentro de um contentor não autorizado

Resposta rápida: Dentro de um contentor GTM não autorizado, um atacante pode implementar scripts de pixel que exfiltram dados pessoais (PII) dos jogadores para redes de anúncios de terceiros, injetar código de redirecionamento que desvia os jogadores para sites concorrentes, instalar skimmers de campos de formulário em páginas de depósito, executar rastreio de afiliação sombra que sequestra a atribuição de conversões, ou carregar payloads maliciosos adicionais a partir de domínios externos, tudo sem qualquer vestígio do lado do servidor.**

O leque de payloads que um contentor GTM pode entregar só é limitado pelo que o JavaScript consegue fazer no navegador. Na prática, há quatro categorias de payload mais relevantes para as plataformas de iGaming.

Primeiro, os pixels de rastreio sombra. Um contentor pode disparar eventos de pixel do Facebook, do TikTok ou do LinkedIn com IDs de pixel que não são first-party. Para um operador de jogo que não pode legalmente anunciar nestas plataformas, isto constitui simultaneamente uma violação do RGPD e uma violação da política de publicidade, e o operador pode estar completamente alheio ao que está a acontecer.

Segundo, os scripts de redirecionamento de jogadores. Conforme descrito no contexto do sequestro do percurso do jogador, uma tag HTML personalizada dentro de um contentor GTM pode intercetar eventos de clique em botões de depósito, formulários de início de sessão ou CTAs de bónus, e redirecionar os jogadores para um destino concorrente. O sistema de gatilhos (triggers) integrado no contentor torna simples limitar isto a páginas, dispositivos ou segmentos de utilizadores específicos.

Terceiro, os skimmers de campos de formulário. Em páginas de depósito ou de KYC onde os jogadores introduzem dados de cartão ou documentos de identidade, uma tag GTM pode associar event listeners a campos de introdução e exfiltrar os valores inseridos para um endpoint remoto. Trata-se de um equivalente, ao nível do navegador, dos ataques de estilo Magecart, executado sem tocar em código do lado do servidor.

Quarto, os scripts de carregamento (loaders). Uma tag do contentor pode carregar ficheiros JavaScript externos adicionais, transformando efetivamente o contentor GTM num dropper de payload de primeira fase. O domínio que serve o payload adicional pode não constar de nenhuma lista de bloqueio no momento do carregamento, o que torna a deteção ao nível da rede pouco fiável.

Diagrama de como um contentor sombra do GTM se esconde atrás de um carregamento de tag aparentemente limpo: na camada de rede que a CSP, a WAF e os registos de rede conseguem ver, o pedido do navegador do jogador para www.googletagmanager.com/gtm.js resolve para a infraestrutura de confiança da Google, presente na lista de permissões da CSP, e devolve um 200 OK limpo, mas depois dessa lacuna de deteção, um contentor sombra do GTM não revisto, carregado em tempo de execução, ramifica-se no runtime JavaScript do navegador, invisível para as ferramentas de rede, em pixels de rastreio sombra que exfiltram PII para redes de anúncios, um redirecionamento do jogador para um concorrente, um skimmer de campos de formulário nas páginas de depósito e KYC, e um script de carregamento que obtém um payload externo

O diagrama acima divide o mesmo carregamento de gtm.js nas duas camadas que o observam. A camada de rede termina numa resposta limpa; a camada de execução (runtime) é onde o contentor sombra realmente faz o seu trabalho.

CamadaO que observaVeredito
Rede, o que a CSP, a WAF e os registos de rede veemO navegador do jogador emite GET www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX; resolve para a infraestrutura da Google (de confiança, na lista de permissões da CSP)200 OK, carregamento limpo
Lacuna de deteçãoTransação de rede concluída, a execução começaA transição é invisível para as ferramentas de rede
Runtime JS do navegador, invisível para as ferramentas de redeO contentor sombra do GTM não revisto (ID de contentor não revisto, carregado em tempo de execução) ramifica-se em quatro comportamentos, cada um disparado do lado do clienteSem veredito de rede adicional; o comportamento é o único sinal

Os quatro ramos em tempo de execução em que o contentor se divide, pixels de rastreio sombra que exfiltram PII para redes de anúncios, um redirecionamento do jogador para um concorrente, um skimmer de campos de formulário nas páginas de depósito e KYC, e um script de carregamento que obtém um payload externo, são exatamente os quatro mecanismos descritos acima. Todos eles são executados depois do 200 OK, razão pela qual um registo de rede limpo não é prova de que o contentor é seguro.

Porque é que as ferramentas existentes não detetam a atividade dos contentores sombra

Resposta rápida: As ferramentas de monitorização de rede e as soluções ao nível de CDN veem que o GTM.js foi carregado com sucesso a partir da infraestrutura da Google. Não veem que IDs de contentor estavam ativos, que tags dispararam dentro desses contentores, ou que JavaScript essas tags executaram depois do carregamento. A superfície de ataque reside inteiramente dentro do runtime JavaScript do navegador, depois de a transação de rede estar concluída.**

Esta é a lacuna arquitetónica que torna os contentores sombra do GTM um risco persistente e pouco endereçado. A tabela abaixo mapeia cada ferramenta comum com aquilo que consegue e não consegue observar num cenário de GTM sombra.

Categoria de ferramentaO que CONSEGUE verO que NÃO CONSEGUE ver
Content Security Policy (CSP)Se os scripts carregam a partir de domínios permitidosQue ID de contentor está a ser executado; que código é executado dentro de um domínio permitido
Web Application Firewall (WAF)Cabeçalhos e corpos dos pedidos/respostas HTTPJavaScript em execução dentro de um separador do navegador após o carregamento da página
Análise de tráfego de redeQue o gtm.js foi carregado; o ID do contentor no URL do pedidoQue tags dispararam dentro do contentor; o que essas tags executaram; recursos externos carregados após a inicialização
Ferramentas de desenvolvedor do navegador (manual)Comportamento completo em tempo de execução num único domínio, num determinado momentoComportamento em tempo de execução em 70 a 200 domínios de forma contínua; alterações de tags publicadas dinamicamente

Na nossa monitorização de plataformas de jogo multimarca, a lacuna de IDs de contentor é consistentemente maior do que os operadores esperam. As equipas de segurança têm frequentemente registos formais para menos de metade dos IDs de contentor que observamos em execução nos seus portefólios de domínios. A discrepância aumenta com a escala da plataforma, e aumenta mais depressa do que a maioria dos processos de governação consegue acompanhar.

A divulgação da Sansec sobre o polyfill.js, em junho de 2024, que afetou mais de 490.000 sites, é um paralelo instrutivo. Todos esses sites tinham carregado aquilo que parecia ser uma biblioteca legítima e amplamente utilizada, a partir de uma CDN de confiança. Os registos de rede mostravam uma resposta limpa e bem-sucedida. O payload malicioso só se tornou visível quando alguém observou o que o JavaScript estava efetivamente a fazer dentro do navegador. Os contentores sombra do GTM seguem o mesmo padrão: a camada de rede reporta um carregamento limpo a partir da infraestrutura da Google, e tudo o que se segue é invisível sem instrumentação ao nível do navegador.

Como a cside identifica todos os contentores e todos os scripts em todos os domínios

Resposta rápida: A cside instrumenta 100% das sessões reais de utilizadores ao nível do navegador, o que significa que vê todos os IDs de contentor GTM carregados em todos os domínios do seu portefólio, todas as tags que disparam dentro de cada contentor e todos os scripts que essas tags executam ou carregam. Quando surge um novo ID de contentor, ou quando um contentor conhecido executa um novo tipo de payload, a cside emite um alerta em tempo real com o contexto de execução completo.**

Para plataformas multimarca, a cside fornece um inventário unificado de scripts em todo o portefólio de domínios. Em vez de exigir uma auditoria manual de cada conta GTM, a plataforma revela a realidade em tempo de execução: o que está efetivamente a ser executado nos navegadores dos jogadores, neste preciso momento, em cada domínio.

Capacidades específicas relevantes para a deteção de contentores sombra do GTM:

  • Enumeração de IDs de contentor: a cside identifica todos os IDs de contentor GTM distintos observados a carregar em todos os domínios monitorizados, sinalizando qualquer um que não estivesse presente no instantâneo de inventário anterior
  • Mapeamento da execução de tags: para cada contentor, a cside mapeia que tags HTML personalizadas e tags de carregamento de scripts disparam, e que domínios externos contactam
  • Alerta de novo payload: quando um contentor previamente observado começa a executar um novo padrão de script ou a contactar um novo domínio externo, é emitido imediatamente um alerta
  • Correlação entre domínios: se um ID de contentor sombra aparecer em vários domínios em simultâneo, a cside identifica o padrão, o que é útil para detetar ataques coordenados durante lançamentos de novas marcas ou lançamentos de campanhas de afiliação
  • Cobertura de 100% das sessões: como a cside instrumenta todas as sessões, e não uma amostra, consegue captar condições de ataque que só se manifestam para segmentos de utilizadores, dispositivos ou geografias específicos
  • Perfis de permissão por fornecedor: assim que um contentor sombra é identificado e trazido para dentro da governação, os operadores podem atribuir a cada fornecedor carregado via GTM o seu próprio perfil de permissões, com capacidades controláveis específicas. Isto significa que uma tag de análise carregada através do GTM pode ficar impedida de aceder a campos de pagamento, à Payment Request API ou ao localStorage, mesmo que o código do fornecedor venha a ser comprometido mais tarde

A cside não depende de monitorização baseada em proxy nem de amostragem passiva do tráfego de rede. A instrumentação é executada dentro do navegador, o que lhe confere o mesmo ponto de vista dos scripts que monitoriza.

O que a primeira sessão de monitorização revelou

Quando realizámos a primeira sessão de monitorização da cside numa importante plataforma europeia de jogo online multimarca, no início deste ano, uma das primeiras coisas que o painel revelou foi um conjunto de IDs de contentor GTM que ninguém na equipa de segurança conseguia explicar. A plataforma operava mais de 70 marcas de casino e apostas desportivas, e a equipa de segurança acreditava ter um controlo razoável sobre o seu parque de gestores de tags. O que o inventário ao nível do navegador mostrou foi diferente. No primeiro dia de monitorização do domínio da marca inicial, a cside identificou vários IDs de contentor ativos que tinham sido adicionados pela equipa de marketing sem passar por qualquer processo de revisão de segurança. Os contentores estavam a carregar em páginas em produção, voltadas para os jogadores, há meses.

A equipa de segurança não tinha sido notificada porque a equipa de marketing não sabia que a notificação era necessária. Não existia qualquer processo estabelecido que ligasse as alterações no gestor de tags à supervisão de segurança. Cada contentor tinha sido adicionado no contexto de uma campanha legítima ou de um acordo de afiliação, e simplesmente nunca tinha sido revisto nem removido. Nas primeiras 24 horas após o início da sessão de monitorização, a plataforma teve pela primeira vez um inventário completo, em tempo de execução, de todos os contentores em execução no domínio de teste, e já estava em curso um plano de remediação para os contentores não revistos. O comentário da plataforma após a sessão: foi a primeira vez que viram, num só lugar, todo o seu parque de scripts ao nível do navegador.

Resumo

Os contentores sombra do GTM são uma falha de governação que cria uma exposição de segurança. Os contentores chegam através de canais operacionais normais, carregam a partir de infraestrutura de confiança da Google, e são invisíveis para qualquer ferramenta de monitorização que não seja executada dentro do navegador. Para plataformas multimarca, a única abordagem fiável é a instrumentação contínua ao nível do navegador, que mantém um inventário em tempo real de todos os IDs de contentor, todas as tags e todos os scripts em execução em todo o portefólio de domínios. Uma auditoria pontual estará sempre desatualizada no momento em que o contentor seguinte for adicionado. A capacidade de segurança do lado do cliente da cside fornece este inventário contínuo e, para mais detalhes sobre como os payloads de redirecionamento são entregues através destes contentores, consulte o nosso guia sobre ataques de redirecionamento por scripts maliciosos em plataformas de casino.

Mike Kutlu
Client-Side Security Consultant

Client-side security consultant at cside. 10+ years of experience implementing technology solutions for enterprises (previously at Oracle, Cloudflare, and Splunk). Now helping teams use client-side intelligence to catch & reduce fraud.

FAQ

Frequently Asked Questions

Um contentor sombra do GTM é qualquer ID de contentor em execução no seu domínio que não tenha sido formalmente revisto e aprovado pela sua equipa de segurança ou de engenharia. Tecnicamente, é idêntico a um contentor autorizado: carrega a partir da infraestrutura da Google e é executado com as mesmas permissões do navegador. A diferença é inteiramente de governação. A sua equipa de segurança não sabe que ele existe e não validou que tags estão a ser publicadas a partir dele.

Auditar as suas próprias contas GTM mostra que IDs de contentor controla e que tags estão configuradas dentro deles. Não revela IDs de contentor adicionados por terceiros que tenham sido incorporados diretamente nos modelos do seu site, nem mostra o que um contentor comprometido está efetivamente a executar em produção. A monitorização ao nível do navegador é a única forma de ver o comportamento em tempo de execução em todos os domínios, em tempo real.

A escala e o ritmo das operações multimarca criam as condições para isso. Cada lançamento de marca, acordo de afiliação ou envolvimento de agência pode introduzir um novo ID de contentor. Sem um processo centralizado de governação de scripts que encaminhe todas as alterações do gestor de tags para uma revisão de segurança, os IDs de contentor acumulam-se mais depressa do que as auditorias conseguem acompanhar. Quando a cside revela pela primeira vez o inventário de contentores em tempo de execução de uma plataforma multimarca, é comum encontrar IDs de contentor ativos que ninguém na equipa de segurança consegue explicar.

A CSP é uma defesa útil, mas não resolve o problema dos contentores sombra do GTM. Como o GTM carrega a partir de www.googletagmanager.com, que tem de estar na lista de permissões da CSP para que o GTM funcione, qualquer ID de contentor carregado a partir desse domínio passa na validação da CSP. A CSP não consegue distinguir entre um contentor autorizado e um contentor sombra carregado a partir do mesmo domínio de confiança.

Os passos imediatos são: bloquear o disparo do ID de contentor nos seus domínios, removendo-o do modelo do site ou da configuração de publicação do contentor principal, e depois investigar a origem (que equipa o adicionou, quando e através de que processo). Reveja o histórico de tags do contentor sombra para identificar o que este tem estado a executar. Preserve os registos para qualquer obrigação de reporte regulamentar ou forense. Depois, atualize o seu processo de governação de scripts para exigir uma revisão de segurança antes de qualquer novo ID de contentor ser adicionado a qualquer domínio do portefólio.

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

Quer ver isso em detalhe com um engenheiro?

Trinta minutos, no seu próprio site. Sem slides.

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

Prefere só mandar uma pergunta?

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