Skip to content

Security: MihYux/37march

Security

docs/SECURITY.md

安全模型与报告方式

信任边界

  • 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 原包或包含个人信息的数据导出。报告时提供最小复现步骤、受影响版本和不含敏感内容的日志;先撤销已经暴露的凭据,再讨论修复。

There aren't any published security advisories