用途
该技能面向 Tauri v2 桌面应用开发者,帮助其在 tauri.conf.json 的 security 段中配置内容安全策略(CSP),以缓解常见 Web 漏洞、限制资源加载来源、强化前端 WebView 与后端 Rust 代码之间的信任边界,并减少攻击面。
主要能力
- 说明 CSP 在 Tauri 中的价值:XSS 防护、资源控制、信任边界强化、攻击面缩减。
- 解释 Tauri 的两部分保护策略:本地脚本在编译时通过加密哈希保护,样式与外部脚本通过 nonce 校验;Tauri 会在编译时自动为打包代码追加 nonce 与哈希,开发者只需配置应用特定的可信来源。
- 强调 CSP 仅在显式配置后才会生效,默认 csp 为 null 时不启用。
- 提供基础与推荐配置示例,以及常用指令说明:default-src、script-src、style-src、connect-src、img-src、font-src、frame-src、object-src。
- 给出对象、数组、字符串三种配置格式。
- 提供针对 React/Vue/Svelte 与 Leptos/Yew/Dioxus(Rust/WASM)等框架的配置示例,以及接入外部 API 的示例。
- 汇总安全最佳实践:避免远程脚本、尽量减少 unsafe-inline、使用严格默认值、屏蔽危险特性。
- 介绍高级配置:dangerousDisableAssetCspModification 与 freezePrototype。
- 提供常见问题排查:资源被 CSP 拦截、WebAssembly 无法加载、内联样式失效、IPC 不工作。
使用方式
在 Tauri 项目的 tauri.conf.json 中,于 security 段配置 csp 字段。可参考资料中的最小安全配置、推荐配置或完整示例,按需添加指令与可信来源。Tauri 会自动处理 nonce 与哈希注入,开发者只需声明应用特定的可信来源。
适用场景
适用于使用 Tauri v2 构建桌面应用、需要加固前端安全、防范 XSS、限制资源加载或接入外部 API 的开发者。也适用于使用 React、Vue、Svelte 或 Rust/WASM 框架(Leptos、Yew、Dioxus)的项目。
限制与注意事项
- CSP 保护仅在显式配置后生效,默认不启用。
- 除非绝对必要,不应使用 'unsafe-eval';'unsafe-inline' 会降低安全性,仅在框架要求时使用。
- 生产环境不应从 CDN 加载脚本。
- dangerousDisableAssetCspModification 会禁用 Tauri 的自动 nonce 与哈希注入,不推荐使用。
- 资料未提供该技能的安装命令、收费方式、价格或平台支持信息。