安全
本页面旨在阐述 Tauri 设计和生态系统核心的高层概念及安全特性,使您、您的应用程序以及用户在默认情况下更安全。
页面还包含有关最佳实践的建议、如何向我们报告漏洞,以及指向详细概念说明的参考资料。
信任边界是计算机科学和安全领域中使用的术语,用于描述程序数据或执行改变其“信任”级别,或者两个具有不同能力的委托(principals)交换数据或命令的边界。 1
Tauri 的安全模型区分了为应用程序核心编写的 Rust 代码,以及用系统 WebView 支持的任何框架或语言编写的前端代码。
检查并严格定义在边界之间传递的所有数据对于防止信任边界违规非常重要。如果数据在这些边界之间传递时没有访问控制,攻击者很容易借此提升和滥用权限。
IPC 层是这两个信任组之间进行通信的桥梁,并确保边界不会被破坏。
由插件或应用程序核心执行的任何代码都拥有对所有可用系统资源的完全访问权限,且不受约束。
在 WebView 中执行的任何代码只能通过定义明确的 IPC 层访问公开的系统资源。对核心应用程序命令的访问权限由应用程序配置中定义的“能力”(capabilities)进行配置和限制。各个命令实现会强制执行在能力配置中定义的细粒度访问级别(可选)。
了解有关各个组件和边界强制执行的更多信息
Tauri 允许开发者选择自己的前端技术栈和框架。这意味着我们无法为每种前端技术栈提供加固指南,但 Tauri 提供了通用的功能来控制和收敛攻击面。
Tauri 的做法是依赖操作系统的 WebView,而不是将 WebView 捆绑到应用程序的二进制文件中。
这有多种原因,但从安全角度来看,最重要的原因是 WebView 安全补丁发布到推送给最终用户之间通常所需的时间差。
我们观察到,相比于直接捆绑 WebView 的应用程序开发者,WebView 包维护者和操作系统包维护者通常能更快地修复并发布 WebView 安全补丁。
虽然该观察也存在例外情况,且理论上两者都能在相似的时间范围内完成更新,但这会给每个应用程序带来更大的基础设施开销。
捆绑方式对 Tauri 应用程序的开发者体验有一定负面影响,我们认为它本身并非不安全,但目前的设计权衡能显著减少现有的已知漏洞。
Tauri 组织不仅提供和维护 Tauri 仓库,为了确保我们提供一个合理安全的跨平台应用框架,我们付出了额外的努力。
要了解更多关于我们如何保障开发过程的安全、您可以采纳和实施的内容、您的应用程序可能面临的已知威胁以及我们未来计划改进或加固的内容,您可以查阅以下文档:
如果您认为 Tauri 或我们组织下的其他仓库存在安全顾虑或问题,请勿公开评论您的发现。请直接联系我们的安全团队。
推荐的披露方式是通过受影响仓库的 GitHub 漏洞披露。我们的大多数仓库都启用了此功能;如有疑问,请通过 Tauri 仓库提交。
或者,您可以发送电子邮件至:security@tauri.app 联系我们。
虽然我们目前没有安全赏金预算,但在某些情况下,我们会考虑利用我们有限的资源来奖励协同披露。
© 2026 Tauri 贡献者。CC-BY / MIT