コンテンツにスキップ

コンテンツ・セキュリティー・ポリシー(CSP)

Tauri は あなたの HTML ページの コンテンツ・セキュリティ・ポリシー(CSP)に制限を加えています。 これにより、クロス・サイト・スクリプティング(XSS)のような一般的な Web ベースの脆弱性による影響を軽減または防止できます。

ローカルのスクリプトはハッシュ化(データ変換)され、スタイルと外部スクリプトは「ワンタイム暗号化乱数データ(nonce)」を使用して参照されますので、許可されていないコンテンツが読み込まれるのを阻止するのです。

《訳注》

・クロス・サイト・スクリプティング (XSS:Cross-Site Scripting) Web サイトの脆弱性を悪用して、攻撃者が悪意あるコード(スクリプト=簡易的なプログラム)をそのページを閲覧した不特定多数のユーザーのブラウザ上でを実行させ、個人情報などを搾取するセキュリティ攻撃。
・nonce 「ノンス、使い捨て乱数データ」(= number used once)。暗号通信などで「一度だけ使用される使い捨てのランダムな数値」《Wikipedia》

CSP(コンテンツ・セキュリティ・ポリシー)による保護は、Tauri 設定ファイルに登録されている場合にのみ有効になります。 このため、できる限り対象を絞り、Webview が信頼できるホスト(できれば自分で所有するホスト)からのアセットのみを読み込むようにする必要があります。 バンドルされたコードとアセットに対しては、コンパイル時に、Tauri が「nonce 値」と「ハッシュ値」を関連する CSP 属性に自動的に追加するので、自分で考慮する必要があるのはアプリケーションに固有のものだけになります。

次の CSP 設定例は、Tauri の api 事例から抜粋したものです。 アプリケーション開発者は、この内容を各自のアプリケーションのニーズに合わせて調整する必要があります。

tauri/examples/api/src-tauri/tauri.conf.json
"csp": {
"default-src": "'self' customprotocol: asset:",
"connect-src": "ipc: http://ipc.localhost",
"font-src": ["https://fonts.gstatic.com"],
"img-src": "'self' asset: http://asset.localhost blob: data:",
"style-src": "'unsafe-inline' 'self' https://fonts.googleapis.com"
},

この CSP(コンテンツ・セキュリティ・ポリシー)による保護方式の詳細については、script-src、style-src、および CSP Sources を参照してください。

【※ この日本語版は、「Apr 7, 2025 英語版」に基づいています】


© 2026 Tauri Contributors. CC-BY / MIT