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