Skip to content

Security: bingooyong/SlideForge

Security

docs/security.md

NBLM2PPTX 安全设计说明

文档版本:v1.0
状态:draft
最后更新:2026-03-07
相关文档架构设计配置说明


1. 安全目标与范围

  • 保障 API Key 不泄露、上传与生成文件不越权访问;服务可配置 CORS、上传类型与大小限制;不处理认证/授权(无用户体系)。

2. 假设与信任边界

  • 后端部署在受控环境;仅运维/部署方持有 GEMINI_API_KEY 与服务器访问权。
  • 用户通过浏览器访问前端,前端与后端同域或通过配置的 CORS 源访问;不假设用户已登录。

3. 主要威胁与缓解

威胁 缓解
GEMINI_API_KEY 泄露 仅存于后端 .env/环境变量,不提交仓库;生产通过密钥管理注入
任意文件上传 / 类型滥用 ALLOWED_EXTENSIONS、MAX_FILE_SIZE 限制;上传落盘在 UPLOAD_DIR/tasks/{task_id}/
未授权访问导出文件 导出按 task_id 返回;当前无鉴权,依赖部署层(内网/反向代理)控制访问范围
CORS 滥用 生产建议设置明确 CORS_ORIGINS,避免 *
敏感数据日志 日志不记录 API Key 或文件内容;structlog 按 LOG_LEVEL 输出

4. 依赖与供应链

  • 依赖见 backend/requirements.txt、frontend/package.json;定期更新依赖以获取安全补丁。

5. 合规要点

  • 用户需自行保证上传素材版权;Gemini 返回版权相关错误时,系统做失败提示,不存储或再传播内容。

变更记录

日期 版本 变更摘要
2026-03-07 v1.0 初稿

There aren't any published security advisories