7AA7 / 开放文档
返回首页

安全红线

更新于 2026-10-12

第三方插件运行时具备与主程序相同的本地用户权限,因此必须严格遵守以下边界。

一、安全边界

  • 配置隔离:仅可通过 getPluginConfig / setPluginConfig 访问本插件私有命名空间,禁止读写主程序或其它插件的数据。
  • 文件沙箱:长期数据只写入 pluginDataDir() 返回的 plugins/data/<pluginId>/;用户显式选择的导入 / 导出文件走 chooseOpenFile / chooseSaveFile。
  • 网络必须走中继:禁止自行使用 QNetworkAccessManager / 原生 socket 直连网络,所有出网必须调用 egressNetworkRequest,并声明 network_access 与 network_domains、取得用户授权。
  • 线程托管:禁止自行 new QThread / QtConcurrent::run,统一使用 createManagedThread。
  • 内部模块禁区:禁止通过 findChild / qobject_cast / 反射获取 MainWindow、CoreManager、ConfigManager、ApiClient、LicenseService 等内部单例。

二、禁止事项(Red Line)

  1. 严禁以任何方式获取主程序内部单例指针;
  2. 严禁绕过 HostApi 直接读写主程序配置文件;
  3. 严禁向用户索取 7AA7 正版许可密钥、账户密码等敏感信息;
  4. 严禁插件自行直连网络,出网必须走 egressNetworkRequest;
  5. 严禁自行创建游离线程;
  6. 严禁劫持或吞掉主程序全局快捷键事件(对话类输入框须遵循「回车发送 / Shift+Enter 换行」约定)。

三、AI / 大模型 API 政策

工具箱 HostApi 不提供 AI 推理网关,也不托管任何大模型 API-Key。
  • 工具箱内置的 AI 能力属于官方自研插件的私有实现,第三方插件无法、也不得复用;
  • 第三方插件如需使用大模型能力,必须自行:
  1. 向模型服务商申请自己的 API-Key;
  2. 在 extra.network_domains 声明服务商域名并取得用户网络授权;
  3. 通过 egressNetworkRequest 中继访问服务商 HTTPS 接口;
  4. 自行承担 API 资费、数据合规与法律责任。

违反以上红线的插件将被拒绝加载或列入黑名单。当前正式版客户端已启用强制签名校验,未经官方工坊签名的第三方插件一律无法加载。