| 版本 | 支持状态 |
|---|---|
| v1.0.x | ✅ 积极维护 |
| 旧版本 | ❌ 不提供安全补丁 |
请勿在公开的 Issue 中提交安全漏洞细节。
如发现安全问题(如注入、认证绕过、密钥泄露、日志泄露敏感信息等),请通过以下任一方式私下报告:
- 在 GitHub 上创建私密问题或通过邮件联系维护者
- 在 Issue 中仅描述问题的类别与影响,不包含利用细节
- 受影响的版本与模块
- 漏洞类型与严重程度评估
- 复现步骤(最小化)
- 修复建议(可选)
- 密码统一 BCrypt 加密存储(
$2a$10$),禁止明文落库;登录/改密/管理员建号均 BCrypt 校验 - 登录失败日志仅记录用户名,不记录任何密码信息
JWT_SECRET强制环境变量注入(长度 ≥ 32,缺失启动失败),禁止硬编码于配置文件或使用公开默认值- API 网关全局 JWT 鉴权(白名单仅登录/注册/健康检查)+ CORS 白名单(
CORS_ALLOWED_ORIGINS可配) - 业务接口按
@RequirePermission/@RequireRole细粒度鉴权,ADMIN 角色全量放行 - WebSocket 握手校验 JWT(
/api/ws/**?token=),未授权连接拒绝 - AI 服务(FastAPI)除
/api/v1/health外全部接口校验 JWT,Agent 工具调用透传用户 token - 前端令牌:勾选"记住我"存
localStorage,否则存sessionStorage;登出/改密后令牌进入 Redis 黑名单 - 基础设施默认凭据(MySQL
123455等)仅为开发默认值,生产必须通过环境变量覆盖
- 维护者确认漏洞后 48 小时内响应
- 修复提交至
develop,验证后合并master并发布补丁版本 - 修复发布后更新 CHANGELOG 并在 Release 说明中记录