変更点
YouTube では、Trusted Types を使用して、YouTube のクライアントサイドのセキュリティを向上させています。これにより、サードパーティの拡張機能が使用するドキュメント オブジェクト モデル(DOM)の API の保護が強化されます。
Trusted Types では、DOM API に値を割り当てる際に、文字列ではなく型付きオブジェクトを使用する必要があります。2024 年 7 月 25 日より、Trusted Types のセキュリティ要件を満たしていないブラウザ拡張機能は、適用後に機能しなくなる可能性があります。そのため、該当するデベロッパーの皆様には、DOM ベースのクロスサイト スクリプティングの脆弱性の防止ガイドに沿って、ブラウザ拡張機能が YouTube の新しいセキュリティ標準に対応していることを確認することをおすすめいたします。
この機能の意義
YouTube で Trusted Types を有効化することで、膨大なクロスサイト スクリプティング(XSS)攻撃から YouTube ユーザーを保護できます。ユーザーが YouTube で日常的に使用しているより多くの拡張機能でユーザーとデータの安全を確保するために、高度なデータ保護管理がさらに強化されます。
必要なご対応
視聴者とクリエイター
対応は不要です。問題が発生したユーザー様は、問題の原因となっているブラウザの拡張機能を一時的に無効にして、対応するデベロッパーに通知していただくことがあります。YouTube 動画の再生に問題がある場合は、すべての拡張機能を無効にしたシークレット ウィンドウで YouTube を開くことをおすすめします。その他のトラブルシューティングの手順については、ヘルプセンターの記事をご覧ください。
デベロッパー
- 拡張機能によって HTML が変更され、ユーザーが youtube.com で使用できる可能性がある場合は、拡張機能に互換性があり、機能の適用後に正しく動作するかどうかを以下の手順で確認することをおすすめします。
- Chrome デベロッパー ツールを利用してレスポンス ヘッダーをオーバーライドするそのためには、youtube.com のローカル ヘッダーのオーバーライドに次の行を追加します。
Content-Security-Policy: require-trusted-types-for 'script'
- YouTube Service Worker をバイパスします。デベロッパー ツールを開き、[アプリケーション] タブに移動して、[アプリケーション] セクションで [Service Worker] を選択します。Service Worker 設定で [ネットワークでバイパス] をオンにします。
- 補助として、Trusted Type 違反に対する自動ブレークポイントを有効にすることができます。設計上、Trusted Types 違反が検出されるとランタイム エラーが発生します。
- 拡張機能のワークフローをテストします。Trusted Types の違反が発生すると、Chrome DevTools デベロッパー コンソールでエラーが表示されます(これを有効にした場合はブレークポイント ヒットも)。
- Chrome デベロッパー ツールを利用してレスポンス ヘッダーをオーバーライドするそのためには、youtube.com のローカル ヘッダーのオーバーライドに次の行を追加します。
- 拡張機能のコードに Trusted Types の違反が含まれている場合は、DOM ベースのクロスサイト スクリプティングの脆弱性の防止ガイドに沿って解決してください。Trusted Types に準拠するためには、問題のコードを削除する、ライブラリ(safevalues や DOMPurify など)を使用する、Trusted Types ポリシーを作成するなど、いくつかの方法があります。
また、こちらのフレームワークとライブラリのリストもご確認ください。拡張機能を Trusted Types に準拠させるのに役立ちます(更新が必要な古いサードパーティ ライブラリを使用している可能性があります)。
シームレスなユーザー エクスペリエンスを実現するには、YouTube でこのセキュリティ機能をリリースする前に、ブラウザ拡張機能を Trusted Types 準拠にすることをおすすめします。コードを Trusted Types 準拠にしないと、DOM 操作がブラウザによってブロックされ、サードパーティ製拡張機能の機能が破損する可能性があります。