| 版本 | 支持状态 |
|---|---|
| 1.1.x | ✅ 接受漏洞报告 |
| < 1.1 | ❌ 请先升级 |
请使用 GitHub 的私人漏洞报告(仓库页 → Security → Report a vulnerability),不要在公开 Issue 中描述未修复的安全问题。我们会在 7 天内回应。
MultiAlign 是纯静态客户端应用,安全模型很简单:
- 无账号体系、无服务端、无数据库——GitHub Pages 只托管静态文件;
- 用户的语料/字幕文本只在浏览器内存与本地 localStorage(工程自动保存)中处理,代码中不存在任何上传文本的路径;
- 统计模块(
analytics/)默认关闭;启用后也只发送匿名事件计数(visit/align/export 等与随机访客编号),协议上不可能携带文本字段(负载上限 600 字节并经服务端校验); - 仓库不包含、也不应包含任何 API Key、令牌或登录凭据。
因此:"文本被上传 / 数据泄露到服务器"类的报告,请先对照上述边界确认——如果是统计端点(你自己部署的 Cloudflare Worker)相关的问题,属于有效范围。
CSV/TSV 在 Excel 等表格软件中打开时,以 =、+、@、制表符或回车开头的单元格会被当作公式求值(CSV 注入)。导出器对这类起始字符自动添加 ' 前缀(OWASP 建议)。刻意保留的残余风险:以 - 开头的单元格不加前缀——字幕对白普遍以 "- " 开头,加前缀会破坏内容;请在受信任环境中打开导出文件。XLSX 导出不受影响(内联字符串不被 Excel 求值)。
- 自建统计端点时,
ADMIN_KEY只通过wrangler secret保存在 Cloudflare Secrets,不要写入代码、截图或 Issue; - 将本项目引入内网/受控环境时,若启用了统计模块,请在你的隐私声明中如实说明匿名计数的存在;
- 浏览器本地自动保存(localStorage)中的工程数据,等同于本机文件——共享电脑上请使用后清理或导出后删除。