未来工作
本节介绍了我们已经开始或计划在未来解决的主题,以使 Tauri 应用程序更加安全。如果您对这些主题感兴趣或有现有的知识,我们随时欢迎新的贡献者和通过 GitHub 或 Discord 等其他社区平台提供建议。
为了让渗透测试人员、审计员和自动化安全检查程序能够正确地完成他们的工作,提供从已编译二进制文件获取的洞察力非常有价值。并非所有公司都是开源的,或者为审计、红队和其他安全测试提供源代码。
另一个经常被忽视的观点是,提供内置元数据能够让您的应用程序用户大规模审计其系统是否存在已知漏洞,而无需为此投入毕生的精力和努力。
如果您的威胁模型依赖于模糊安全(security by obscurity),本节将提供一些工具和要点,希望能让您重新考虑。
对于 Rust,有 cargo-auditable
来创建 SBOM 并提供精确的二进制文件 crate 版本和依赖项,而不会破坏可复现构建。
对于前端堆栈,我们没有发现类似的解决方案,因此从二进制文件中提取前端资产应该是一个直接的过程。之后应该可以使用 npm audit
或类似的工具。已经有关于此过程的博客文章,但尚无简单的工具可用。
我们计划提供此类工具,或在编译具有特定功能的 Tauri 应用程序时更容易提取资产。
要使用 Burpsuite、Zap 或 Caido 等渗透测试工具,需要拦截来自 WebView 的流量并将其通过测试代理。目前 Tauri 没有内置方法可以做到这一点,但正在进行的工作旨在简化此过程。
所有这些工具都允许在没有源代码访问权限的情况下正确测试和检查 Tauri 应用程序,在构建 Tauri 应用程序时应予以考虑。
我们计划在未来进一步支持和实现相关功能。
在 Tauri 当前的威胁模型和边界内,我们无法为 WebView 本身添加更多安全限制,并且由于它是我们堆栈中用内存不安全语言编写的最大部分,我们计划研究并考虑进一步沙盒化和隔离 WebView 进程的方法。
将评估内置和外部沙盒方法,以减少攻击影响并强制执行 IPC 桥接以进行系统访问。我们认为我们堆栈的这一部分是薄弱环节,但当前一代 WebView 正在改进其强化和漏洞利用弹性。
为了更有效地简化 Tauri 应用程序的模糊测试过程,我们旨在进一步实现我们的模拟运行时和其他工具,以便更轻松地为单个 Tauri 应用程序进行配置和构建。
Tauri 支持多种操作系统和 CPU 架构,通常应用程序很少或没有可能存在内存不安全代码。没有预先存在的模糊测试工具和库支持这些不常见的模糊测试用例,因此我们需要实现它并支持现有库(如 libAFL)来构建 Tauri 模糊测试框架。
目标是使 Tauri 应用程序开发人员能够轻松高效地进行模糊测试。
© 2025 Tauri 贡献者。CC-BY / MIT