最近、セキュリティに特に気をかけなければいけないサービスの開発をしていて調べた知見のメモ。 subresource integrity Subresource Integrity - Web security | MDN いわゆるチェックサムの仕組み。 integrity 属性に ${hashalgorithm}-${hashdigest} 形式の値を書いておき、フェッチしたファイルのハッシュ値が一致していなければブラウザが読み込みをブロックする。 これは、たとえばCDNが攻撃されるなどしてスクリプトなどが改竄された場合に有効。 JSやCSSはプリ・ポストプロセッサで処理し出力することがほとんどだろうが、subresource integrityとどうやって統合するかというとgulp-hashsumを使ってコンパイルしたファイルのハッシュ値をdigest.jsonに保存し、HTMLのレンダ