Skip to content

Security: bakahuiii/Modly-Turnaround

Security

SECURITY.md

安全策略

English | 简体中文

支持版本

在首个稳定版本发布前,只对最新的 0.1.x 版本提供安全修复。旧快照、未发布工作区、修改过的模型运行环境和第三方实验后端不在支持范围内。

报告漏洞

不要在公开 issue、讨论区、日志粘贴站或社交媒体披露尚未修复的漏洞。

如果项目托管平台支持私有 Security Advisory,请优先使用该渠道。若尚未启用,请通过维护者提供的私有联系方式报告,并在建立安全渠道前只发送不含利用细节的简短请求。

报告应包含:

  • 受影响版本或 commit。
  • 漏洞类别与预期影响。
  • 最小复现步骤。
  • 是否需要特定 Modly、Windows、浏览器或模型环境。
  • 已知的缓解措施。
  • 你希望如何署名。

不要附带:

  • MODLY_API_TOKEN 或其他密钥。
  • 未授权人物图片、模型权重或完整用户 workspace。
  • 含个人用户名和绝对路径的原始报告。
  • 无关的系统转储或页面文件内容。

维护者会先确认收到报告,再评估影响、支持版本和协调披露方式。项目目前不承诺固定修复 SLA 或漏洞奖励。

安全边界

本地 API

Modly API 必须只监听 loopback。不要将 8765 暴露到局域网或公网,不要配置反向代理,也不要关闭 Host/Origin 检查来解决浏览器问题。

生产环境建议设置随机、高熵的 MODLY_API_TOKEN。该 token 只通过进程环境传递,不应写入配置、manifest、命令行或发布包。

本地文件访问

本项目按用户明确提供的路径读取输入、外部 Modly 和运行目录。Modly 的 GLB 导入端点能读取本机绝对路径,因此 API 暴露会扩大本机文件泄露风险。

批客户端限制生成输出解析到配置的 workspace 内。新增任何路径型端点时必须:

  • 规范化路径。
  • 拒绝 workspace 逃逸。
  • 避免跟随不受信任 reparse point 到敏感目录。
  • 不把绝对路径回传给不受信任远程方。

子进程管理

启动器只应终止经端口、PID、创建时间、可执行路径、命令行和父子关系确认的受管进程。不得退化为“结束所有 python.exe”或仅按 PID 文件强杀。

供应链

  • 模型资产使用固定 revision、精确大小和 SHA-256。
  • 依赖版本由 lock 文件固定。
  • 大文件恢复保留 .partial,只有校验成功后才原子安装。
  • 发布归档必须生成并验证 SHA-256。
  • 不从未经固定 revision 的 GitHub 分支直接恢复生产源码。

第三方 lock 只能证明获得的字节符合预期,不能证明第三方内容本身没有漏洞。升级依赖时需审查 changelog、许可和受影响测试。

浏览器预览

预览器使用本机 Edge 或 Chrome,并通过 Playwright 的请求路由提供项目内 Three.js 和 GLB;它不应启动监听服务器或访问远程资源。MODLY_PREVIEW_BROWSER 必须指向可信的浏览器可执行文件。

隐私

输入图片、GLB 和纹理默认留在本机,但报告包含输入哈希、绝对路径、GPU、驱动、内存和页面文件摘要。分享前必须脱敏。

资产恢复是唯一预期网络流程之一,会访问配置的 Hugging Face 镜像。-Offline 运行不应静默下载缺失资产。

不属于安全漏洞的情况

以下通常属于模型质量或兼容性问题,而非安全漏洞:

  • 人脸、手或衣物生成错误。
  • 右侧镜像、顶底补色或纹理接缝。
  • 某 AMD 显卡无法运行 DirectML。
  • 合法输入导致空表面或 OOM,且没有越权或资源逃逸影响。

但如果特制输入能够读出任意本地文件、执行命令、逃逸 workspace、泄露 token、无限创建进程或绕过发布校验,应作为安全问题私下报告。

There aren't any published security advisories