Aller au contenu

Empreinte d’intégrité de sous-ressource

Subresource Integrity Hash

Calcule l’attribut Subresource Integrity (sha256, sha384 ou sha512) pour un script ou une feuille de style que vous collez ou déposez.

Un `<script src>` qui pointe vers un CDN est une autorisation permanente donnée à ce CDN d’exécuter le code de son choix dans les navigateurs de vos utilisateurs. Un attribut Subresource Integrity la révoque : le navigateur refuse d’exécuter un fichier dont l’empreinte ne correspond pas à celle que vous avez épinglée.

⚡ En local, avec une assistance serveur facultativesriintegritywebhash

Déposez le fichier exact

Le script ou la feuille de style que vous allez servir. Il est haché tel quel.

Haché avec WebCrypto dans votre navigateur : c’est l’empreinte même que le navigateur vérifiera. Il n’y a pas de champ URL, et c’est volontaire : aller chercher un fichier distant depuis cette page pour le hacher serait bloqué par CORS ou deviendrait un vecteur SSRF, et un navigateur ne sait pas résoudre puis épingler un hôte comme le fait un serveur. Mettez ici le fichier que vous servez.

Comment s’en servir

  1. Donnez-lui le fichier ou l’URL

    Déposez le fichier exact que vous livrerez, ou faites charger une URL. L’empreinte porte sur les octets, donc un fichier et une URL qui diffèrent d’un saut de ligne donnent des attributs différents.

  2. Copiez l’attribut entier

    La sortie est `integrity="sha384-…"`. Collez-la sur la balise avec `crossorigin="anonymous"` — sans cela, une ressource d’une autre origine est opaque et l’intégrité ne peut pas être vérifiée.

  3. Épinglez une version, pas une étiquette mouvante

    Un attribut d’intégrité contre une URL en `@latest` casse le site le jour où le CDN publie. Pointez une version exacte et mettez les deux à jour ensemble.

Questions fréquentes

Quel algorithme employer ?

sha384 est le choix habituel et celui que publient la plupart des CDN. sha256 est accepté et sha512 est plus fort, mais la différence n’est pas le point faible de ce dispositif : épingler la mauvaise version l’est.

Le script a cessé de se charger après que je l’ai ajouté.

Presque toujours l’une de trois choses : le fichier a changé sur le CDN, `crossorigin="anonymous"` manque, ou l’empreinte a été prise sur une autre version que celle qui est servie (un fichier minifié contre un non minifié, par exemple).

SRI protège-t-il contre un script compromis qui était hostile depuis le début ?

Non. Il garantit que vous recevez les octets que vous avez épinglés, rien de plus. Si la version que vous avez épinglée était déjà piégée, SRI livre fidèlement la porte dérobée à chaque fois.

À alimenter depuis

Ensuite

Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.

Générateur de CSP

CSP Builder

Construit une Content-Security-Policy à partir d’un formulaire guidé ou d’un rapport, et explique chaque directive.

Fonctionne entièrement dans votre navigateur

Somme de contrôle de fichier

File Checksum

Hache un fichier de n’importe quelle taille en une passe de lecture en flux et compare le résultat à la valeur attendue que vous collez.

Fonctionne entièrement dans votre navigateur

Audit des en-têtes de sécurité

Security Header Scan

Note les en-têtes HSTS, CSP, de cadrage, de référent et de permissions d’un site et indique ce qu’il faudrait ajouter.

Passe par notre serveur

Contrôle d’un lien suspect

Suspicious URL Check

Examine la forme d’un lien avant que vous ne l’ouvriez — caractères sosies, hôte en adresse IP, ruse de l’arobase, sous-domaines à rallonge, ports inhabituels, raccourcisseurs — et, à la demande, suit ses redirections et cherche la date de création du domaine. Aucune base de réputation.

En local, avec une assistance serveur facultative

Encodeur et décodeur Base64

Base64 Encoder & Decoder

Encode et décode en Base64 et en Base64URL, pour du texte comme pour des fichiers, avec un traitement correct de l’UTF-8.

Fonctionne entièrement dans votre navigateur

Vérifier une fuite de mot de passe

Breach Check

Regarde si un mot de passe figure dans les fuites recensées par Have I Been Pwned, en n’envoyant depuis le navigateur que les cinq premiers caractères de son empreinte SHA-1 (k-anonymat).

Fonctionne entièrement dans votre navigateur