Manifesto - Sandbox

Aviso:a partir da versão 57, o Chrome não vai mais permitir conteúdo da Web externo (incluindo frames e scripts incorporados) em páginas em sandbox. Use uma webview.

Define uma coleção de páginas de apps ou extensões que serão veiculadas em uma origem única em sandbox e, opcionalmente, uma política de segurança de conteúdo para usar com elas. Estar em um sandbox tem duas implicações:

  1. Uma página isolada não terá acesso a APIs de extensão ou app nem acesso direto a páginas sem sandbox (ela pode se comunicar com elas usando postMessage()).
  2. Uma página isolada não está sujeita à política de segurança de conteúdo (CSP, na sigla em inglês) usada pelo restante do app ou da extensão. Ela tem um valor de CSP separado. Isso significa que, por exemplo, ele pode usar o script inline e eval.

    Por exemplo, confira como especificar que duas páginas de extensão serão veiculadas em um sandbox com um CSP personalizado:

    {
      ...
      "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';. Você pode especificar o valor do CSP para restringir ainda mais o sandbox, mas ele precisa ter a diretiva sandbox e não pode ter o token allow-same-origin. Consulte a especificação HTML5 para possíveis tokens de sandbox. Além disso, o CSP especificado pode não permitir o carregamento de conteúdo da Web externo em páginas em sandbox.

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

"Usar eval em extensões do Chrome. com segurança". Ele aborda em mais detalhes a implementação de um fluxo de trabalho de sandbox que permite o uso de bibliotecas que, de outra forma, teriam problemas de execução na Política de segurança de conteúdo padrão da extensão.

A página isolada em sandbox só pode ser especificada ao usar manifest_version 2 ou mais recente.