Atributo sandbox de iframe
O que é Atributo sandbox de iframe?
Atributo sandbox de iframeAtributo HTML que aplica restrições extra ao conteúdo de um iframe, bloqueando scripts, formulários, navegação e acesso same-origin a menos que sejam reativados explicitamente.
O atributo sandbox num <iframe>, definido no HTML Living Standard, aplica uma política de menor privilégio ao conteúdo embutido. Com um valor vazio (sandbox=""), desativa scripts, plugins, envio de formulários, navegação de topo e same-origin, popups, pointer-lock, reprodução automática e as APIs Pointer Lock e Presentation, e força o frame a assumir uma origem opaca única, de modo a que não consiga ler os cookies, o localStorage ou o DOM do pai. As capacidades são reconcedidas um token de cada vez — allow-scripts, allow-same-origin, allow-forms, allow-popups, allow-modals, allow-downloads, allow-top-navigation-by-user-activation.
A armadilha crítica: combinar allow-scripts allow-same-origin devolve o frame à sua origem real e permite-lhe executar JavaScript, pelo que o código em sandbox pode simplesmente alcançar o seu próprio DOM e remover o atributo sandbox de um frame aninhado — anulando a proteção. Para alojar conteúdo genuinamente não confiável, isole-o numa origem separada e combine o sandbox com Content-Security-Policy: sandbox (que não pode ser removido pelo markup) e com as políticas Cross-Origin-Opener/Embedder. O sandboxing sustenta a renderização segura de anúncios, previews de rich-text e widgets de terceiros; o Caja da Google e serviços modernos como o CodePen e o JSFiddle dependem de frames em sandbox sobre origens descartáveis para executar código controlado pelo atacante sem pôr em perigo a página anfitriã.
flowchart TD
A[Página pai] --> B["<iframe sandbox><br/>embute conteúdo não confiável"]
B --> C{Que tokens definidos?}
C -->|"sandbox="" (vazio)"| D[Origem opaca, sem scripts,<br/>sem formulários, sem navegação]
C -->|apenas allow-scripts| E[Scripts executam, ainda<br/>origem opaca - seguro]
C -->|"allow-scripts +<br/>allow-same-origin"| F[Origem real + scripts:<br/>frame pode remover a sua própria<br/>sandbox = fuga]
E --> G[Adicionar cabeçalho CSP: sandbox<br/>origem separada = defesa em profundidade]● Exemplos
- 01
<iframe src="/preview" sandbox="allow-scripts"></iframe> para renderizar HTML não confiável em segurança.
- 02
Embutir um widget de terceiros com sandbox="" para negar todas as capacidades.
● Perguntas frequentes
O que é Atributo sandbox de iframe?
Atributo HTML que aplica restrições extra ao conteúdo de um iframe, bloqueando scripts, formulários, navegação e acesso same-origin a menos que sejam reativados explicitamente. Pertence à categoria Segurança de aplicações da cibersegurança.
O que significa Atributo sandbox de iframe?
Atributo HTML que aplica restrições extra ao conteúdo de um iframe, bloqueando scripts, formulários, navegação e acesso same-origin a menos que sejam reativados explicitamente.
Como se defender contra Atributo sandbox de iframe?
As defesas contra Atributo sandbox de iframe costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.