Mozilla Firefox 148 がリリース:Sanitizer API の搭載による XSS 対策の強化

Firefox 148 Unveils New Sanitizer API to Mitigate XSS Attacks in Web Applications

2026/02/26 gbhackers — Firefox が公開したのは、Cross-Site Scripting (XSS) 攻撃から Web アプリケーションを保護するための主要なアップデートである。Firefox 148 のリリースに伴い、Mozilla は標準化された新たな Sanitizer API を導入し、セキュリティ・ツールを標準でビルトインする最初のブラウザとなった。この新機能により、Web 開発者は未信頼のコードが Web ページへ挿入される前に、安全対策とクリーン・アップの実行が可能になる。

この対応は、長年にわたり開発者を悩ませてきた課題を解消し、既存の防御策と実装現場の間に存在していたギャップを埋めるものである。Cross-Site Scripting (XSS) は、インターネット上で最も古く、かつ最も危険な Web 脆弱性の一つである。

XSS が発生するのは、コメント/プロフィール情報などのユーザー生成コンテンツを介して注入される、攻撃者による有害な HTML や JavaScript を、Web サイトが誤って許可した場合である。

この脆弱性が存在する限り、攻撃に成功した攻撃者は、サイト上でのユーザーの行動を監視し、個人データを窃取し、インタラクションを改竄できる。XSS は、これまでの約 10 年間にわたり、深刻な Web 脆弱性の Top-3 以内に常にランクインしてきた。

従来、XSS への防御は困難であった。2009 年に Firefox は、未承認スクリプトの読み込みを阻止する Content-Security-Policy (CSP) 標準の策定を支援した。しかし CSP は、Web サイトの構築方法に大幅な変更を必要とし、セキュリティ専門家による継続的な監視も要したことで、広範な普及には至らなかった。

Sanitizer API の導入

新しい Sanitizer API は、悪意の HTML を安全で無害な HTML へ変換する、標準化された簡易的な手法を提供することで、この問題を解決するものだ。Hacks Mozilla によると、この API は新たに setHTML() メソッドを導入し、従来のリスクが高い innerHTML に代わる安全な手段を提供するという。

開発者が setHTML() を使用すると、ブラウザが自動的にコードを検査し、危険な要素のみを削除する。たとえば、”alert” を含む隠しイメージや悪意のスクリプトが挿入された場合でも、Sanitizer API は危険な部分だけを除去し、通常のテキストは保持する。

最大の利点は、最小限のコード変更で、この保護機能を利用できる点にある。innerHTML を setHTML() に置き換えるだけで、デフォルト設定での安全性が即座に確保される。プロジェクトの要件に応じて、開発者は特定の HTML 要素の許可/禁止を柔軟にカスタマイズすることで、デフォルト設定の強弱を調整できる。

最大限のセキュリティを確保するために推奨されるのは、Firefox 148 でサポートされる Trusted Types と Sanitizer API を組み合わせることだ。この組み合わせにより、HTML 処理の集中管理が可能となり、危険なコードがページへ挿入される前の阻止が達成される。

Firefox は、他の主要ブラウザも Sanitizer API を採用すると見込んでいる。未信頼コンテンツの安全化を容易にすることで、専任のセキュリティ・チームや大規模なコード改修を必要とせず、すべての開発者が XSS 攻撃を防止できる環境の実現を目指している。

Web 開発者は、本番環境へ導入する前に Sanitizer API Playground で新機能を検証できる。