En detalle
Se añade un atributo integrity con uno o más hashes (sha256-, sha384- o sha512- seguidos de un resumen en Base64) a una etiqueta <script> o <link rel="stylesheet">. El navegador descarga el archivo, calcula su hash y solo lo ejecuta si coincide alguno. En los archivos de otro origen también se añade crossorigin="anonymous" para que la respuesta pueda leerse para la comprobación.
Por qué importa
Cuando carga una biblioteca desde una CDN u otro tercero, quien controla ese servidor controla su página. SRI limita el daño de un archivo comprometido o alterado, y por eso los ataques a la cadena de suministro de scripts populares lo han convertido en consejo estándar. El coste es que hay que actualizar el hash cada vez que cambia el archivo. Genere los hashes con Generador de Hash SRI.
Ejemplo
<script src="https://cdn.example.com/app.js"
integrity="sha384-H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO"
crossorigin="anonymous"></script>
El hash anterior es el resumen sha384 de un script de una sola línea, alert('Hello, world.');.