コンテンツにスキップ

セキュリティ ― 概要

この章は、Tauri の設計とエコシステムの中核をなす高レベルの概念とセキュリティ機能を説明することを目的としています。この概念とセキュリティ機能は、開発者であるあなた自身、作成するアプリケーション、およびそのユーザーのセキュリティをデフォルトで強化いたします。

また、「ベスト・プラクティス」(最良の実践モデル)に関するアドバイス、脆弱性をTauri 開発チームに報告する方法、および詳細な概念説明への参考情報にも言及されています。

「信頼境界/トラスト・バウンダリ」とは、コンピューター・サイエンスやセキュリティの分野で用いられる用語で、プログラム・データや実行プログラムの「信頼レベル」が切り替わる境界、あるいは、異なるセキュリティ・レベル※ を持つ二つの動作主体がデータやコマンドをやり取りする際の信頼レベルの境界、のことです。1 《英語版》

《訳注》

セキュリティ・レベル 原文は different capabilities「異なる能力・権限・機能」の意。セキュリティ設計において「信頼できる領域」(安全)と「信頼できない領域」(危険)の境目の判定に際して、どの程度信頼できるかを示す指標という観点から「セキュリティ・レベル」と訳してあります。「セキュリティ・レベル」の章も参照。

Tauri のセキュリティ・モデルは、アプリケーションのコア用に記述された「Rust コード」部と、システム WebView が理解できる任意のフレームワークまたは言語で記述された「フロントエンド・コード」部とで分かれています。

境界間でやり取りされるすべてのデータを検査し厳密に定義することは、「信頼境界の侵害」(violation)を防ぐために非常に重要です。もしデータが「アクセス制御なし」に境界線間を受け渡しされると、攻撃者にとっては特権を昇格させて悪用することが簡単になります。

IPC レイヤー(プロセス間通信層)は、この二つの「信頼グループ」間、つまり「Rust コードのアプリケーション・コア部」と「フロントエンド部(システム WebView)」間の通信のブリッジ(橋渡し)となり、信頼境界が破られないようにしています。

IPC Diagram

《訳注》

※ 図中の用語
System WebView システム・ウェッブビュー
・Application Frontend アプリケーション・フロントエンド
・Remote Sources & Assets リモートにあるソースおよびアセット
IPC プロセス間通信
Application Core アプリケーション・コア
・Tarui Core タウリ・コア部
・Backend バックエンド
・Plugins 各種プラグイン
・Local System ローカル・システム

プラグインまたはアプリケーション・コアによって実行されるコードは、利用可能なすべてのシステム・リソースすべてにアクセスでき、制約はありません。

WebView 内で実行されるコードは、明確に定義された IPC レイヤーを経由して、公開されたシステム・リソースだけにアクセスできます。 コア・アプリケーション・コマンドへのアクセスは、アプリケーション設定で定義された「セキュリティ・レベル」によって設定され、制限されています。 個々のコマンド実装には、「セキュリティ・レベル設定」において定義される任意設定のきめ細かいアクセス・レベルを適用します。

それぞれのコンポーネントと境界適用の詳細については、以下を参照してください:

Tauri では、開発者が自分のフロントエンド・スタックとフレームワークを選択できます。 このことは、選択されたそれぞれのフロントエンド・スタックに対して Tauri がセキュリティ強化ガイドを提供できていないということではなく、攻撃対象領域を制御し封じ込めるための包括的な機能を Tauri は提供しているということを意味しています。

Tauri のアプローチは、オペレーティング・システム付属の WebView に依存し、WebView をアプリケーション・バイナリに バンドルしない ことです。

これにはさまざまな理由がありますが、セキュリティの観点から最も重要な理由は、WebView のセキュリティ・パッチが公開されてからアプリケーションのエンドユーザーに展開されるまでに要する平均時間の違いです。

IPC Diagram

《訳注》図の内容: WebView バンドル有無によるセキュリティ更新時間(作業)の差

WebView のセキュリティ・アップデート発生

あり
バンドルの有無
なし
① 最新版 WebView のダウンロード① 最新版 WebView のビルド
② アプリのビルド↓
③ アプリに WebView をバンドル↓
④ アプリのユーザー配布② WebView のユーザー配布
システム・パッチ完了

観察したところでは、WebView パケットのメンテナーとオペレーティング・システム・パケットのメンテナーのほうが、WebView をアプリケーションに直接バンドルするアプリケーション開発者よりも、セキュリティ・パッチを適用した Webview リリースを配布する速度が、平均して遥かに速いことがわかっています。

この観察には例外があり、理論的にはどちらの方法でも同様の時間枠内で対応可能なはずですが、個々のアプリ開発者が同一時間枠で対応するには、各アプリケーションごとにオーバーヘッドがより大きいインフラストラクチャ(迅速な個々のアプリの修正パッチ対応など、セキュリティ維持管理体制を構築するための多大な付随的コストを伴なうインフラ)の整備が必要になります。

Tauri アプリケーション開発者の経験上、バンドルには弱点があります。ハンドルすることが本質的に安全ではないと考えているわけではありませんが、現在の Tauri 設計仕様は、現実の既知の脆弱性を大幅に減らすためのトレードオフ(妥協点)なのです。

Tauri の開発チームは、ただ単に Tauri リポジトリだけを提供・維持管理しているだけではありません。合理的で安全なマルチプラットフォームのアプリケーション・フレームワークを確実に提供するために、さらに先へ行く努力をしています。

開発プロセスのセキュリティ確保方法、適応および実装できる内容、アプリケーションが直面する可能性のある既知の脅威、今後の改善や強化の計画などについて詳しく知りたい場合は、以下のドキュメントをご覧ください:

Tauri 開発チームが管理する Tauri またはその他のリポジトリにセキュリティ上の懸念や問題があると思われる場合には、発見した事項について公にはコメントしない でください。代わりに、直接、Tauri のセキュリティ・チームにご連絡ください。

推奨される報告方法は、影響を受けるリポジトリの Github Vulnerability Disclosure (Github 脆弱性報告)経由です。 Tauli のほとんどのリポジトリではこの連絡機能が有効になっていますが、よく判らない場合には Tauri リポジトリ から送信してください。

あるいは、security@tauri.app まで電子メールでご連絡いただくこともできます。

現在、セキュリティ報奨金の予算はありませんが、場合によっては、限られたリソース内で協調的な情報開示に報奨を与えることも検討します。

【※ この日本語版は、「Jul 22, 2026 英語版」に基づいています】

  1. https://en.wikipedia.org/wiki/Trust_boundary. ↩


© 2026 Tauri Contributors. CC-BY / MIT