CentralCSP
Reports

Violations d'intégrité

Les scripts chargés sans métadonnées Subresource Integrity valides. Chaque entrée appelle la même correction, sauf dans deux cas.

Dernière mise à jour:

Les scripts qui se sont chargés sans métadonnées Subresource Integrity valides, ou avec des métadonnées qui ne correspondaient pas. Chaque ligne est un script dont personne n'a vérifié le contenu.

Les scripts sans intégrité, chaque URL de CDN listée avec l'origine du document qui l'a chargée, les navigateurs qui l'ont signalée et sa disposition

Colonnes

ColonneSignification
ScriptLe script qui a échoué à la vérification
Origine du documentLa page qui l'a chargé
NavigateursLes navigateurs qui l'ont signalé
DispositionAppliqué signifie bloqué, Report-only signifie que cela l'aurait été
ReportsLes reports regroupés dans cette ligne
Dernière occurrenceL'occurrence la plus récente

Le détail ajoute Destination, qui indique en tant que quoi le navigateur récupérait la ressource.

La correction

Ajoutez un attribut integrity avec le bon hash, plus crossorigin pour que le navigateur puisse le vérifier :

<script
  src="https://cdn.example.com/lib.js"
  integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
  crossorigin="anonymous"></script>

Générez les hash au moment du build. Un attribut integrity maintenu à la main se périme à la prochaine mise à jour du prestataire et se transforme en panne, ce qui est la raison habituelle pour laquelle les équipes abandonnent SRI après l'avoir essayé.

Pour une valeur ponctuelle, le générateur SRI calcule le hash depuis l'URL d'un script ou d'une feuille de style et vérifie les headers CORS dont la vérification a besoin, l'autre moitié des raisons pour lesquelles SRI échoue en silence.

Deux cas que la correction ne couvre pas

Une URL dont le contenu change à chaque requête ne peut pas porter de hash statique. Figez-la d'abord sur une URL versionnée, puis ajoutez integrity.

Un prestataire qui refuse de publier des assets versionnés stables relève d'une décision sur la chaîne d'approvisionnement, pas d'un problème de balisage. Vos options sont d'en héberger une copie vous-même, d'abandonner la dépendance, ou d'accepter du contenu non vérifié et de le surveiller via les hashes CSP.

Recoupement avec les hashes CSP

Un script présent sur les deux pages est un script dont vous savez qu'il change et que vous n'avez pas figé. Les hashes CSP enregistrent la valeur de hash de tout ce qui s'exécute, cette page enregistre les endroits où une vérification était attendue et n'a pas eu lieu.

Étapes suivantes

On this page