Sì!
MDN ha una bella spiegazione ed esempi.
L’espressione sorgente
'strict-dynamic'specifica che la fiducia data esplicitamente a uno script presente nel markup, accompagnandolo con un nonce o un hash, verrà propagata a tutti gli script caricati da quello script radice.
Quindi, finché lo script originale è attendibile (tramite un nonce), il browser consente di caricare qualsiasi altro script senza restrizioni. E poi, poiché tali script sono attendibili, possono caricarne altri!
C’è un’unica avvertenza, ovvero che gli script non possono essere “inseriti dal parser”. Questo impedisce che strict-dynamic venga sfruttato per attacchi XSS.
Quindi, ad esempio, questo verrebbe “inserito dal parser” e verrebbe bloccato:
document.head.appendChild("<script src='https://example.com/xss-attempt.js' />");
Ma la costruzione dell’elemento script programmaticamente non comporta l’analisi HTML, è molto meno probabile che sia un vettore XSS, e quindi è consentito:
const script = document.createElement("script");
script.src = "https://example.com/script.js"
document.head.appendChild(script);
^^ questo è essenzialmente come funziona loadScript()