FinPilot AI 项目组非常重视本项目及其社区的安全性。如果你发现安全漏洞,请按以下流程私下报告,请勿在公开 Issue 中披露:
- 邮件报告:发送邮件至
badhope@users.noreply.gitcode.com,主题以[SECURITY] FinPilot AI开头 - 内容包含:
- 漏洞影响的版本(git commit hash 或 tag)
- 复现步骤(详细到能让我们重现)
- 影响评估(可造成的最严重后果)
- 建议的修复方案(可选)
- 响应时间:我们会在 3 个工作日内确认收到,并在 14 个工作日内给出初步评估与修复计划
- 协调披露:修复发布后,我们会在 CHANGELOG.md 中致谢报告者(如你愿意署名)
| 在范围内 | 不在范围内 |
|---|---|
| 服务端 SQL 注入、命令注入、SSRF、XSS、CSRF | 已知第三方依赖的 CVE(请向上游报告) |
| 鉴权绕过、权限提升、会话固定 | 自托管环境未打补丁的操作系统漏洞 |
| LLM 提示注入导致的数据泄露或越权 | 用户弱密码 / 密码复用 |
| PII 脱敏失效 | 演示模式(FINPILOT_LLM_DEMO_FALLBACK=1)下的占位行为 |
| 文件上传导致的任意代码执行 | 性能问题、DoS、社会工程 |
首次启动会自动创建默认管理员 admin@finpilot.ai / admin123。生产部署必须在首次登录后立即修改密码,或通过环境变量 FINPILOT_ADMIN_PASSWORD 在启动前覆盖。
| 配置项 | 推荐做法 |
|---|---|
FINPILOT_LLM_DEMO_FALLBACK |
生产环境必须禁用(不设置或设为 0) |
FINPILOT_CHECKPOINT_BACKEND |
生产环境推荐 sqlite,重启后能恢复会话 |
GITHUB_CLIENT_SECRET |
生产环境必须通过环境变量注入,不可硬编码 |
| CORS | 生产环境必须收紧为真实前端域名,不可保留 * |
| HTTPS | 生产环境必须通过 Nginx / Caddy / Cloudflare 终结 TLS |
| 审计日志 | 推荐开启并定期归档,至少保留 90 天 |
本项目内置以下安全机制,可在管理后台开启/关闭:
- ABAC(基于属性的访问控制):细粒度权限策略
- TOTP 双因子认证:pyotp 实现,强制管理员可启用
- PII 脱敏:敏感信息自动脱敏后再写日志
- 注入防护:
finpilot.security.guard.guard_llm_call在 LLM 调用前检测提示注入 - 审计日志:所有敏感操作(用户/权限/审批/模型配置)均写入审计表
- 角色分级:admin / user 二级权限,admin 命令二次校验
感谢以下报告者对本项目安全性的贡献(按报告时间排序):
暂无
本项目遵循 协调漏洞披露(Coordinated Disclosure)原则。