Skip to main content
Todos os Termos Glossary

Atributo Sandbox para Iframes

Definition

O atributo sandbox é um atributo HTML para iframes que aplica ao documento incorporado restrições impostas pelo navegador, bloqueando a execução de scripts, o envio de formulários, os pop-ups e a navegação de nível superior até que você devolva cada capacidade com um token como allow-scripts. É também isso que um aviso 'iframe sandbox detected' de um scanner de segurança ou de um reprodutor de vídeo está informando: o frame está rodando sob restrições sandbox.

O que significa 'iframe sandbox detected'

Uma mensagem 'iframe sandbox detected' aparece quando uma extensão de segurança do navegador, um scanner de sites ou um reprodutor de vídeo incorporado informa que o iframe em que está rodando tem uma ou mais restrições sandbox ativas. Essas mensagens são informativas, não erros: indicam que a página incorporadora aplicou o atributo sandbox HTML ao frame, o que limita o que o conteúdo incorporado pode fazer. Gatilhos comuns incluem scanners de segurança verificando iframes com permissões excessivas e players de mídia (YouTube, Vimeo, Dailymotion) que precisam de allow-scripts, e normalmente de allow-same-origin, antes de iniciar. Reprodução automática e tela cheia não são tokens de sandbox: um iframe as recebe pelo atributo allow, que faz parte da Permissions Policy. A mensagem em si não é uma ameaça; é um sinal de que as restrições sandbox estão em vigor e precisam ser verificadas em relação ao que o embed exige.

O que o atributo sandbox de um iframe faz

O atributo sandbox é uma lista de tokens que você adiciona a um iframe para retirar as capacidades padrão do documento incorporado e depois conceder de volta apenas as que você escolher. Um sandbox vazio aplica o conjunto máximo de restrições: o conteúdo enquadrado roda em uma origem opaca única, não pode executar scripts, não pode enviar formulários, não pode abrir popups, não pode navegar na página de nível superior e não pode usar plugins. Você o afrouxa seletivamente com flags como allow-scripts, allow-forms, allow-same-origin e allow-popups. Cada palavra-chave reativa uma capacidade, de modo que o frame recebe o menor privilégio que o recurso realmente precisa. Ele é definido no padrão HTML e imposto pelo próprio navegador.

Por que o atributo sandbox importa para a segurança

Incorporar conteúdo de terceiros ou fornecido pelo usuário sem isolamento permite que esse conteúdo manipule scripts na página hospedeira, leia cookies, envie formulários ou sequestre a navegação. O atributo sandbox reduz o raio de impacto quando a marcação incorporada não é confiável, por exemplo um anúncio, uma prévia de texto rico ou um widget. Uma sutileza importante é que combinar allow-scripts com allow-same-origin anula boa parte da proteção: o frame pode então alcançar sua própria origem servida e, se essa origem coincidir com a do incorporador, pode remover seu próprio sandbox reescrevendo o frame. O sandboxing é um controle de contenção, não um controle de inspeção de conteúdo, então ele limita o que a marcação comprometida pode fazer, mas não informa se a marcação foi adulterada.

Aplicando o atributo sandbox com segurança

Conceda o conjunto mais restrito de flags que o recurso incorporado exige e nunca combine allow-scripts com allow-same-origin para conteúdo em que você não confia plenamente. Sirva embeds não confiáveis a partir de uma origem separada e sem cookies, para que um frame de origem opaca não consiga alcançar dados reais de sessão. Combine o atributo com uma Content Security Policy e controles de enquadramento, para que as defesas não dependam de uma única flag. O sandboxing rege os iframes que você mesmo cria; ele não faz nada quanto ao comportamento dos muitos scripts first-party e third-party que carregam diretamente em suas próprias páginas. A cside cobre essa lacuna analisando esses scripts em sessões de visitantes reais, detectando comportamento malicioso em tempo real e mantendo um registro forense.

Definição

O que significa 'iframe sandbox detected'?

Significa que uma extensão do navegador, um scanner de segurança ou um player de mídia detectou que o iframe em que está incorporado carrega o atributo sandbox HTML. O atributo limita o que o frame pode fazer: executar scripts, enviar formulários, abrir pop-ups, navegar a página de nível superior. A detecção em si não é um ataque; é a confirmação de que o sandboxing está ativo. Se esse é o comportamento desejado depende de o embed precisar ou não das capacidades bloqueadas para funcionar.

Definição

Por que os players de vídeo pedem para remover os atributos sandbox da tag iframe?

A maioria dos embeds de vídeo (YouTube, Vimeo, Dailymotion) precisa de allow-scripts para conseguir executar o player, normalmente de allow-same-origin para que o player acesse o próprio armazenamento, e muitas vezes de allow-popups para os links de compartilhamento e de assistir mais tarde. Um sandbox vazio sem esses tokens impede o player de executar qualquer JavaScript, fazendo-o falhar silenciosamente ou exibir o aviso 'sandbox detected'. Reprodução automática e tela cheia vêm de outro mecanismo: são delegadas pelo atributo allow do iframe, por exemplo allow="autoplay; fullscreen; picture-in-picture", que é Permissions Policy e não sandbox. A solução é adicionar exatamente os tokens que o player documenta em vez de remover o sandbox, porque o sandbox também é o que impede um player de outra origem de enviar formulários, abrir pop-ups ou navegar sua página de nível superior para outro endereço.

Definição

É seguro remover atributos sandbox de um iframe?

Removê-lo suspende as restrições que o navegador impõe àquele frame: o documento incorporado passa a poder executar scripts, enviar formulários, abrir pop-ups, usar plugins e navegar sua página de nível superior para outro endereço. Isso não dá a um embed de outra origem acesso aos seus cookies nem ao seu DOM, porque a política de mesma origem já bloqueia isso, com ou sem o atributo sandbox. O caso que realmente importa é um frame de mesma origem com allow-scripts e allow-same-origin juntos, pois o documento incorporado consegue então alcançar a página pai e remover o próprio atributo sandbox. Mantenha o sandbox, adicione apenas os tokens específicos que o embed documenta e sirva embeds não confiáveis a partir de uma origem separada e sem cookies sempre que possível.

Definição

O atributo sandbox substitui uma Content Security Policy?

Não. O atributo sandbox restringe o que um iframe incorporado pode fazer, enquanto uma Content Security Policy rege o que a página inteira pode carregar e executar. Eles cobrem escopos diferentes e funcionam melhor juntos: o sandbox contém um embed não confiável, e a CSP restringe scripts, conexões e enquadramento em todo o documento.

Definição

Por que allow-scripts junto com allow-same-origin é considerado perigoso?

Juntos, eles permitem que o documento enquadrado execute scripts com acesso à sua origem real. Se essa origem for a do incorporador, o frame pode ler os mesmos dados e até reescrever sua própria marcação para descartar o atributo sandbox, escapando efetivamente das restrições que você pretendia impor.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Agende uma demonstração

Quer ver isso em detalhe com um engenheiro?

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

Agende uma demo personalizada para ver:

Como alcançar a conformidade com os requisitos 6.4.3 e 11.6.1 do PCI DSS em 1 dia
Por que scripts de terceiros são um risco de segurança para você e seus visitantes
Como monitorar vazamentos de privacidade e consentimento (RGPD, CCPA) em cada terceiro
Como conter abuso de cadastros, compartilhamento de contas e fraude de chargeback com device intelligence
Como detectar e controlar agentes de IA e bots que acessam seu site em tempo real

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