Manifesto - Sandbox

Aviso:a partir da versão 57, o Chrome não vai mais permitir conteúdo externo da Web, incluindo frames e scripts incorporados, dentro de páginas no modo sandbox. Use um webview.

Define um conjunto de páginas de apps ou extensões que serão exibidas em uma origem exclusiva em sandbox e, opcionalmente, uma Política de Segurança de Conteúdo para usar com elas. O uso de um sandbox tem duas implicações:

  1. Uma página no modo sandbox não tem acesso a APIs de extensão ou de apps nem acesso direto a páginas que não estão no modo sandbox (ela pode se comunicar com elas pelo postMessage()).
  2. Uma página no modo sandbox não está sujeita à Política de Segurança de Conteúdo (CSP, na sigla em inglês) usada pelo restante do app ou extensão. Ela tem o próprio valor de CSP separado. Isso significa que, por exemplo, ele pode usar script in-line e eval.

    Por exemplo, veja como especificar que duas páginas de extensão serão exibidas em um sandbox com uma CSP personalizada:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    Se não for especificado, o valor padrão de content_security_policy será sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';. É possível especificar o valor da CSP para restringir ainda mais o sandbox, mas ele precisa ter a diretiva sandbox e pode não ter o token allow-same-origin. Consulte a especificação HTML5 para ver possíveis tokens de sandbox. Além disso, a CSP especificada não permite o carregamento de conteúdo externo da Web em páginas em sandbox.

Você só precisa listar as páginas que esperava que fossem carregadas em janelas ou frames. Os recursos usados por páginas no modo sandbox (por exemplo, folhas de estilo ou arquivos de origem JavaScript) não precisam aparecer na lista sandboxed_page, porque usam o sandbox da página que os incorpora.

"Como usar eval nas extensões do Chrome. "Safely" entra em mais detalhes sobre a implementação de um fluxo de trabalho de sandbox que permite o uso de bibliotecas que teriam problemas de execução de acordo com a Política de Segurança de Conteúdo padrão da extensão.

A página no modo sandbox só pode ser especificada ao usar a versão manifest_version 2 ou mais recente.