Subresource Integrity (SRI) permite verificar que un archivo cargado desde un CDN no ha sido manipulado, comparando su hash criptográfico.
Cómo funciona
El atributo integrity contiene un hash (SHA-256, SHA-384, SHA-512) del contenido esperado. El navegador calcula el hash y lo compara. Si no coincide, bloquea el recurso.
Ejemplo
<script src="https://cdn.example.com/lib.js"
integrity="sha384-..."
crossorigin="anonymous">
El crossorigin es obligatorio para recursos CORS.
Generación de hashes
openssl dgst -sha384 -binary archivo.js | openssl base64 -A. O usando herramientas online de SRI. Automatiza en el build process.
SRI en frameworks
Vite genera SRI automáticamente (vite-plugin-sri). Next.js soporta SRI. Webpack: webpack-subresource-integrity.

