Una chiave manifest facoltativa contenente un criterio di sicurezza del contenuto della piattaforma web che specifica le limitazioni relative a script, stili e altre risorse che un'estensione può utilizzare. All'interno di questa chiave manifest, è possibile definire criteri facoltativi separati sia per le pagine delle estensioni che per le pagine delle estensioni con sandbox.
Le "pagine delle estensioni" si applicano ai contesti di pagina e worker nell'estensione. Sono inclusi 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 file manifest.
Criterio predefinito
Se il criterio di sicurezza del contenuto non viene definito dall'utente nel file manifest, verranno utilizzate le proprietà predefinite sia per le pagine delle estensioni sia per le pagine delle estensioni con sandbox.
Queste impostazioni predefinite equivalgono a specificare i 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 caricherà solo script e oggetti locali dalle sue risorse pacchettizzate. WebAssembly verrà disabilitato e l'estensione non eseguirà JavaScript in linea né potrà valutare le stringhe come codice eseguibile. Se viene aggiunta una pagina sandbox, avrà autorizzazioni più flessibili per valutare gli script esterni all'estensione.
Politiche di sicurezza del contenuto minime e personalizzate
Per soddisfare le esigenze del loro progetto, gli sviluppatori possono aggiungere o rimuovere regole per la loro estensione o utilizzare i criteri di sicurezza dei contenuti minimi richiesti.
Norme relative alle pagine estensioni
Chrome applica un criterio di sicurezza del contenuto minimo per le pagine delle estensioni. Equivale a specificare la seguente norma nel file manifest:
{
// ...
"content_security_policy": {
"extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
}
// ...
}
Il criterio extension_pages
non può essere esteso 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 al criterio dell'estensione, al momento dell'installazione Chrome genererà un errore simile al seguente:
'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 sandbox è molto più permissivo rispetto alle pagine con estensioni, in quanto la pagina sandbox non ha accesso alle API di estensione o accesso diretto alle pagine senza sandbox. I criteri di sicurezza del contenuto della sandbox possono essere personalizzati in base alle esigenze.