升级插件安全策略、包管理和运行时能力

This commit is contained in:
2026-08-17 09:06:32 +08:00
parent 92e5c330f2
commit c3a8737fd6
50 changed files with 4409 additions and 2646 deletions
+11
View File
@@ -0,0 +1,11 @@
# 插件安全边界
插件是“不可信 Web 内容”,不是客户端扩展进程。宿主只承诺本地 Web 平台能力和经授权的 Bridge;插件目录、脚本、远程响应和显示内容都不应被当作可信客户端代码。
宿主在注册、授权、会话和调用四层检查清单声明、用途、精确范围、用户授权与策略指纹。UI 进程只执行宿主批准的剪贴板、文件选择器和外链动作。页面卸载、窗口关闭或 WebView 进程异常会关闭 Bridge 会话。
禁止的能力包括任意文件系统、环境变量、进程创建、Shell/Script、Tauri 全局 API、插件自带原生二进制、跨插件资源读取、HTTP/私网连接、远程代码、插件创建的 iframe、页面导航、下载、摄像头、麦克风、定位和通知。
受控 Tauri 宿主不把插件文件加载到应用原点。应用自有页面通过跨原点 sandbox iframe 承载插件自定义 HTTPS 协议;插件原点按插件和 surface 唯一,浏览器配置目录独立。Bridge 只接受同源 POST,由原生宿主持有一次性会话令牌并通过当前用户命名管道转发。插件页面即使构造原始 Bridge 请求,也只能调用清单已声明、当前已授权且范围匹配的能力。
浏览器私有存储按虚拟原点与 WebView2 数据目录隔离。清除插件数据或回收式卸载会删除宿主 KV 和对应浏览器配置;卸载前插件目录会移入应用数据下的可恢复回收目录。