权限与能力矩阵

权限写在 manifest.jsonpermissions 数组中,并展示给用户。声明应与插件实际行为一致;未声明的能力不能通过绕过 api 或动态脚本加载来获得。

权限清单

权限 允许的行为 推荐接口 风险提示
clipboard:read 读取剪贴板内容或声明剪贴板识别规则 api.readClipboardText()api.readClipboardImage()initialText / enterAction 只处理插件必要的数据,不要长期保存
clipboard:write 将结果写入系统剪贴板或清空剪贴板 api.copyText(text)api.copyClipboardImage(dataUrl)api.clearClipboard() 不要覆盖用户剪贴板而不提示
network:fetch 通过浏览器 fetch 请求网络 标准 fetch 目标服务必须支持 CORS,应披露数据去向
file:dialog 打开系统文件选择或保存对话框 api.showOpenDialog()api.showSaveDialog() 只读取用户主动选择的路径;宿主不替插件读写文件

能力分层

层级 入口 第三方插件是否依赖
稳定插件 API 组件 api prop 是,推荐
浏览器标准能力 DOM、fetchlocalStoragewindow.Vue 可用,遵守权限和兼容性;源码由 Vite 编译后运行
Electron preload bridge window.toolzen 仅使用本文明确标为公开的能力;默认不依赖
主进程 IPC ipcRenderer.invoke/send 对应通道 禁止

审核关注点

  • 权限声明与实现行为是否匹配。
  • 网络请求是否指向插件说明中披露的服务。
  • 是否存在混淆代码、远程脚本执行器或隐藏的数据采集。
  • 剪贴板识别正则是否可编译、范围是否克制。
  • 通知、复制和外链操作是否给用户明确反馈。