信任模型、敏感数据处理、外部输入校验与漏洞报告渠道。安全模型变化时更新。
- 信任边界:Web 前端与后端之间的 HTTP 通信在本地网络内进行,不假设外部攻击者。
- 单用户模式:仅一个用户账号,认证后拥有全部权限。
- 攻击面:HTTP API 端点、文件路径参数、SMB 凭据、用户输入(登录表单)。
- 不暴露公网:默认绑定
localhost,如需暴露到公网需用户自行配置反向代理和 HTTPS。
- 密码存储:用户密码使用 bcrypt 哈希存储,不保存明文。
- SMB 凭据:SMB 用户名/密码加密存储在配置文件中,不入库。
- 会话令牌:使用加密安全的随机令牌,存储在 Cookie 中,设置
HttpOnly、Secure和SameSite=Strict标志。 - JWT 密钥:启动时若未设置
JWT_SECRET环境变量,自动生成 32 字节随机密钥并输出 WARN 日志提示用户持久化。用户需设置环境变量以避免每次重启后重新登录。 - 日志脱敏:日志中不输出密码、令牌、SMB 凭据等敏感信息。
- 禁止硬编码:所有密钥、端口、路径通过配置文件或环境变量控制。
- 路径遍历防护:所有文件路径参数经过规范化校验,防止
../路径遍历攻击。 - SQL 注入防护:所有数据库操作使用参数化查询,禁止字符串拼接 SQL。
- XSS 防护:前端 React 框架默认转义输出,API 响应设置正确的
Content-Type。 - CSRF 防护:Cookie 设置
SameSite=Strict,敏感操作验证Origin头部。 - FFmpeg 命令注入:所有传入 FFmpeg 的参数经过白名单校验,禁止用户直接控制命令行参数。
- 发现安全问题请通过项目 Issue 提交。
- 请提供复现步骤和影响范围,维护者将在 72 小时内响应。
- 安全补丁通过正常版本发布流程发布。