最后更新:2026-08-31
本文档说明 Firefly Studio 项目的安全策略、漏洞报告流程和安全最佳实践。
我们为以下版本提供安全更新:
| 版本 | 状态 | 说明 |
|---|---|---|
main 分支 |
✅ 支持 | 开发主线,最新功能和安全修复 |
| 最新 Release | ✅ 支持 | 最新正式发布版本 |
| 历史 Release | 仅修复严重安全漏洞 | |
| 预发布版本 | ❌ 不支持 | 不保证安全性,仅供测试 |
建议始终使用最新版本以获得最新的安全修复。
如果您发现了安全漏洞,请不要在公开的 GitHub Issues 中报告,而是通过以下方式私下报告:
- GitHub Security Advisories:在项目仓库的 "Security" → "Report a vulnerability" 中提交
- 邮件:请在项目仓库的 README 或 CODEOWNERS 中查找维护者联系方式
请在报告中包含以下信息:
- 漏洞描述:简要说明漏洞类型和影响
- 受影响版本:哪些版本受影响
- 复现步骤:详细的复现步骤,包括代码示例或截图
- 影响评估:漏洞可能造成的影响(数据泄露、远程代码执行等)
- 修复建议:如果您有修复建议,请一并提供
- 您的信息:您的姓名/昵称和联系方式(可选)
我们将按照以下流程处理安全漏洞报告:
| 阶段 | 时间目标 | 说明 |
|---|---|---|
| 确认收到 | 48 小时内 | 确认收到您的报告,并开始初步评估 |
| 漏洞评估 | 7 天内 | 评估漏洞的严重程度和影响范围 |
| 修复开发 | 视严重程度而定 | 开发修复补丁 |
| 修复发布 | 视严重程度而定 | 发布安全更新 |
| 公开披露 | 修复发布后 | 在修复发布后公开披露漏洞详情 |
我们使用以下标准评估漏洞严重程度:
| 级别 | 说明 | 示例 |
|---|---|---|
| Critical(严重) | 可远程利用,导致系统完全控制或大规模数据泄露 | 远程代码执行、权限提升、SQL 注入 |
| High(高危) | 可利用,导致敏感数据泄露或重要功能受损 | 路径遍历、XSS、认证绕过 |
| Medium(中危) | 有限影响,需要特定条件才能利用 | 信息泄露、CSRF、开放重定向 |
| Low(低危) | 影响较小,难以利用或影响有限 | 最佳实践问题、轻微信息泄露 |
| Info(信息) | 不是漏洞,只是安全建议或信息 | 安全配置建议、依赖更新提示 |
- ✅ 只从官方渠道下载应用(GitHub Releases)
- ✅ 验证下载文件的完整性(校验和、签名)
- ✅ 及时更新到最新版本
- ❌ 不要从不可信的第三方网站下载
- ❌ 不要使用修改版或破解版
- ✅ 使用强密码保护您的设备
- ✅ 不要在对话中输入敏感个人信息(身份证号、银行卡号、密码等)
- ✅ 定期备份重要的聊天记录
- ✅ 在公共网络中使用时注意隐私保护
- ❌ 不要在不可信的网络环境中使用敏感功能
- ❌ 不要将 API Key 分享给他人
- ✅ API Key 存储在环境变量或本地配置文件中
- ✅ 使用权限最小化的 API Key
- ✅ 定期轮换 API Key
- ❌ 不要将 API Key 硬编码在代码中
- ❌ 不要将包含 API Key 的配置文件提交到公开仓库
- ✅ 遵循安全编码规范
- ✅ 对所有用户输入进行验证和清理
- ✅ 使用参数化查询,避免 SQL 注入
- ✅ 对输出进行转义,避免 XSS
- ✅ 使用安全的随机数生成器
- ✅ 实施最小权限原则
- ❌ 不要在代码中硬编码密钥或密码
- ❌ 不要使用已知不安全的算法(MD5、SHA1 等)
- ❌ 不要禁用安全检查或验证
- ✅ 定期更新依赖到最新版本
- ✅ 使用依赖扫描工具(如
npm audit、pip-audit) - ✅ 只使用可信的依赖包
- ✅ 锁定依赖版本(package-lock.json、requirements.txt)
- ❌ 不要使用已废弃或存在已知漏洞的依赖
- ❌ 不要从不可信的源安装依赖
- ✅ 仔细审查 C++ 原生模块代码
- ✅ 使用内存安全的编程实践
- ✅ 对所有输入进行边界检查
- ✅ 使用 AddressSanitizer 等工具检测内存问题
- ❌ 不要使用不安全的函数(strcpy、sprintf 等)
- ❌ 不要忽略错误检查
本项目采用数据本地化设计原则:
- 语音输入、语音识别、语音合成均在本地完成
- 聊天记录存储在本地,不上传云端
- 设置偏好存储在本地
- 仅 LLM 对话请求会发送到外部服务器
- Electron 主进程与渲染进程隔离
- 原生模块(C++)运行在独立的进程中
- Python 子进程(ASR/TTS 服务)运行在独立进程中
- 使用 IPC 进行进程间通信,进行输入验证
- 麦克风权限:仅在用户主动点击语音输入按钮时请求
- 文件系统访问:仅访问用户明确选择的文件和目录
- 网络访问:仅访问用户配置的 LLM 服务和模型下载地址
以下是本项目的已知安全限制,使用时请注意:
-
本地存储加密:本地数据(聊天记录、设置等)目前未加密存储。如果您的设备被盗,数据可能被访问。建议使用系统级磁盘加密(如 FileVault)。
-
API Key 存储:API Key 存储在本地环境变量或配置文件中,未加密。建议妥善保护您的配置文件。
-
LLM 数据隐私:您的对话内容会发送到您配置的 LLM 服务提供商。请参考相应服务商的隐私政策。如果对隐私有较高要求,建议使用本地 LLM。
-
第三方模型:ASR/TTS 模型从第三方平台下载,我们无法保证模型的绝对安全性。建议仅从官方渠道下载模型。
-
原生模块:C++ 原生模块可能存在内存安全问题。我们会尽力审查代码,但无法保证完全没有漏洞。
| 日期 | 版本 | 安全修复 | 严重程度 |
|---|---|---|---|
| 2026-08-31 | - | 初始安全策略文档 | - |
感谢所有为提升本项目安全性做出贡献的安全研究者和用户。
如果您报告了安全漏洞,我们会在修复发布后(经您同意)在致谢名单中提及您的贡献。
- 项目仓库:https://github.com/erishen/firefly-studio
- 安全报告:GitHub Security Advisories
- 一般问题:GitHub Issues
感谢您帮助我们保持 Firefly Studio 的安全! 🔒