Perché è limitato alle risorse JS e CSS?
But, why is it only limited to JS and CSS files?
La specifica SRI W3C afferma:
The scheme specified here also applies to link and future versions of this specification are likely to expand this coverage.
Inoltre afferma:
A future revision of this specification is likely to include integrity support for all possible subresources, i.e., a, audio, embed, iframe, img, link, object, script, source, track, and video elements.
Sembra che questa sia solo la prima versione delle specifiche. Il repository github include anche un milestone riferimento a problemi che verranno affrontati dalla seconda versione della specifica. Ad esempio, esiste un problema di github riguardante l'aggiunta della possibilità di aggiungere l'integrità per i download.
I tried to pin a LESS (CSS variant) file, of which the integrity tag was ignored by Firefox and Chrome.
Sembra che seguano le specifiche alla lettera. La prima versione riguarda l'aggiunta dell'integrità per gli elementi HTML link
e script
, ma non per ogni attributo. La specifica menziona solo gestendo l'attributo integrity
per l'elemento link
quando rel="stylesheet"
:
Whenever a user agent attempts to obtain a resource pointed to by a link element that has a rel attribute with the keyword of stylesheet
Guardando il Meno sito web , vediamo che fanno affidamento su link
ma con rel="stylesheet/less"
, quindi non fanno parte delle specifiche .
Forse potresti archiviare un problema sul loro repository github per la seconda versione?
Perché è limitato a risorse esterne?
why not add it on all browser included files (even self-hosted)?
Guardando le specifiche non sembra che facesse parte del loro modello di minaccia. Ecco il loro primo obiettivo:
Compromise of a third-party service should not automatically mean compromise of every site which includes its scripts.
Si potrebbe supporre che se un utente malintenzionato è in grado di modificare un file JavaScript auto-ospitato, probabilmente può fare di più. Certo, non significa che l'attaccante può modificare la parte HTML, ma l'attaccante nel modello non può modificare le risorse interne.