- React 渲染进程启用
contextIsolation和沙箱,关闭 Node 集成。 - Preload 只暴露白名单 IPC,渲染层不能直接访问文件系统或读取 Key。
- DeepSeek 和 DashScope 请求只由 Electron 主进程发起。
- 业务数据、窗口状态、调用计数和服务 Key 使用独立文件。
在线聊天调用前会检查提示词提取、色情/未成年人、现实危机、专业结论和依赖/付费操纵请求。命中时返回角色一致的本地边界回复,不把请求发送给模型。
模型返回后再次检查:
- 系统提示、内部规则或密钥泄露;
- 外部链接;
- 排他性依赖、离开内疚;
- 充值或消费换取亲密;
- 医疗、法律和投资保证;
- 色情内容。
发行消息使用更严格的固定事实、产品内入口、自动检查和人工审核门禁;自由聊天的模型输出不能直接进入角色通信中心。
- 模型、主机和产品入口使用白名单。
- 请求有长度、响应大小和超时限制。
- TTS 流支持取消并限制累计音频大小。
- 每个服务设置按日请求和字符预算。
- 连续三次提供商失败后本地熔断五分钟。
- 第三方不可用时自由聊天回退到本地回复,主相册、通信和 Demo 不受影响。
运行:
npm run audit:release脚本检查受限 Live2D/音频/压缩包、常见密钥、临时 OSS 下载参数、Skill 来源版本和机器可读风险登记表。
npm run audit:release:strict 还会把所有未关闭发布门禁视为失败。目前角色概念图权利证据、正式签名、公证与 Windows/Linux 原生验证尚未完成,因此严格审计应保持失败,不能把当前构建误标成正式发行版。
请不要在公开 Issue 中粘贴 API Key、临时下载链接、声音样本、Live2D 原包或包含个人信息的数据导出。报告时提供最小复现步骤、受影响版本和不含敏感内容的日志;先撤销已经暴露的凭据,再讨论修复。