Glosario Seguridad

Integridad de subrecursos (SRI)

La integridad de subrecursos es una función del navegador que comprueba un script u hoja de estilo con un hash que usted indica y se niega a usarlo si el archivo ha cambiado.

Última revisión:

AdSense Placeholder
Slot: header_reference_page

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.');.

AdSense Placeholder
Slot: footer_leaderboard