Skip to content

插件安装信任 ​

签名证明安装包没有被篡改,并绑定签名密钥;它不证明代码安全。只安装你愿意信任的发布者提供的插件,并检查所需能力。

原生服务插件的权限

包含服务端程序的插件是原生代码。当前进程隔离不是操作系统沙箱,程序可能使用部署账号的文件和网络权限;不要把宿主 API 的权限限制误认为对恶意二进制的全面隔离。

离线导入 ​

导入前先预览包内名称、发布者、能力、页面范围、兼容性和签名指纹。预览不安装、不启动进程,也不保存信任。

未知来源需要管理员明确确认签名密钥。请通过发布者的可信渠道核对指纹,不能只因为包自带公钥就信任它。确认绑定当前包摘要与已验证密钥;安装成功才保存该插件的独立信任,失败不授予信任。

  • 信任仅限当前插件,不扩散到同一发布者的其他插件。
  • 后续安装必须保持插件 ID、发布者与签名密钥一致。卸载和清除私有数据不会允许陌生密钥接管原插件 ID。
  • 签名密钥变化会被拒绝;联系发布者核实,不要用修改数据库的方式绕过。
  • 旧包未附带公钥时,可以在导入弹窗提供 .pub 公钥。
  • YAML 中的 trusted_publishers 仍可预设信任。移除该配置会撤销依赖它的安装信任;安装时保存的插件独立信任则保存在数据库中。

市场安装 ​

未设置 plugins.catalog_url 时,ZBoard 读取 ZeroDeNet 统一公开市场;不可用时尝试兼容目录。市场登记发布者密钥及插件允许的能力、页面范围,发行包来自登记的发布来源。

在线安装验证包大小、SHA-256、签名、插件 ID、发布者、版本及市场范围。已准入市场条目的发布者密钥可为该插件建立信任,因此与未知离线来源不同,通常不需要额外勾选首次信任。管理员仍需查看预览并确认安装;已有安装的发布者或密钥约束不能被市场覆盖。

确认时会重新下载并核验包摘要;包发生变化必须重新预览。市场收录和密码学验证都不代替管理员对代码来源、权限与部署风险的判断。

自建 plugins.catalog_url 使用另一套签名目录格式:目录签名者必须在 YAML 中配置为信任根,宿主校验签名与有效期,再校验条目和安装包。条目公钥只用于相应插件,不会变成全局目录签名权限。

市场下载要求公开 HTTPS 443,最多跟随四次重定向;每跳检查目的地址,拒绝私网,并移除 Authorization、Cookie 请求头。发行平台的临时签名查询参数只允许出现在重定向目标中,不能据此省略包签名和摘要校验。

打包及兼容性 ​

包内公钥、签名和文件摘要需要相互匹配。新工具生成的包可能无法被旧宿主读取,应先检查面板版本;不要修改已发布包或覆盖同一版本的文件。开发者使用仓库打包工具,不需要把私钥交给 ZBoard。

宿主按插件协议、UI 桥、能力、运行平台和数据状态决定能否安装或启用。包内 requires.zboard 是参考范围,tested_zboard_versions 是测试覆盖记录;超出范围或使用 RC / Dev 本身不会阻止安装或运行中的升级。

市场发行元数据另外用于筛选适用的宿主版本和平台,因此“市场没有适用版本”与“已取得的包被宿主拒绝”是不同情况。不要改包声明绕过真正的接口或平台不兼容。

ZeroDeNet