Manifest - Criteri di sicurezza del contenuto

Una chiave manifest facoltativa contenente una norma relativa alla sicurezza dei contenuti per una piattaforma web che specifica le limitazioni relative a script, stili e altre risorse utilizzabili da un'estensione. All'interno di questa chiave manifest, è possibile definire criteri facoltativi separati per le pagine delle estensioni e per le pagine delle estensioni con sandbox.

Il criterio "Pagine delle estensioni" si applica ai contesti delle pagine e dei worker nell'estensione. Ciò include il popup dell'estensione, il worker in background e le schede con pagine HTML o iframe aperti dall'estensione. Il criterio della sandbox viene applicato a tutte le pagine specificate come pagina sandbox nel manifest.

Criterio predefinito

Se i criteri di sicurezza dei contenuti non vengono definiti dall'utente nel file manifest, verranno utilizzate le proprietà predefinite sia per le pagine delle estensioni sia per le pagine delle estensioni con sandbox.

Questi valori predefiniti equivalgono alla specifica dei seguenti criteri nel file manifest:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self';",
    "sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
  }
  // ...
}

In questo caso, l'estensione carica solo script e oggetti locali dalle proprie risorse in pacchetto. WebAssembly verrà disabilitato e l'estensione non eseguirà JavaScript incorporato e non sarà in grado di valutare le stringhe come codice eseguibile. Se viene aggiunta una pagina sandbox, quest'ultima avrà autorizzazioni più confortevoli per valutare gli script esterni all'estensione.

Norme minime e personalizzate sulla sicurezza dei contenuti

Gli sviluppatori possono aggiungere o rimuovere regole per la loro estensione oppure utilizzare i criteri di sicurezza dei contenuti minimi richiesti, in base alle esigenze del loro progetto.

Norme relative alle pagine estensioni

Chrome applica criteri minimi per la sicurezza dei contenuti per le pagine delle estensioni. Equivale a specificare il seguente criterio nel file manifest:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
  }
  // ...
}

Il criterio extension_pages non può essere allentato oltre questo valore minimo. In altre parole, non puoi aggiungere altre origini di script alle istruzioni, come l'aggiunta di 'unsafe-eval' a script-src. Se aggiungi un'origine non consentita ai criteri dell'estensione, Chrome restituirà un errore come il seguente al momento dell'installazione:

'content_security_policy.extension_pages': Insecure CSP value "'unsafe-eval'" in directive 'script-src'.

Norme relative alle pagine sandbox

Il criterio predefinito per le pagine con sandbox è molto più permissivo rispetto alle pagine delle estensioni, in quanto la pagina sandbox non ha accesso alle API delle estensioni o accesso diretto alle pagine non sandbox. Il criterio di sicurezza dei contenuti della sandbox può essere personalizzato in base alle esigenze.