项目目前处于 0.1.x Alpha 阶段,只为最新发布版本和 main 分支接受安全修复。较早提交或自行修改的部署应先复现到最新代码。
请不要公开提交包含利用细节、真实凭据、消息内容或个人财务数据的 Issue。优先使用 GitHub 仓库的 Private vulnerability reporting 私下报告,并提供:
- 受影响版本或提交
- 最小化复现步骤和必要的虚构测试数据
- 预期与实际行为
- 影响范围和可利用条件
- 已知缓解措施或建议修复方式
维护者确认后会评估影响、准备修复并协调披露。不要在报告中附带生产数据库、完整日志、访问令牌或未脱敏的截图。
- PostgreSQL 是账本的唯一事实来源;AI 服务没有数据库连接,也不能生成或执行 SQL。
- AI 输出必须通过禁止额外字段的 Pydantic Schema,随后映射为固定业务动作和参数化查询。
- 账目、预算、汇总和报告均以飞书用户
open_id隔离。 - Webhook 校验 Verification Token;配置 Encrypt Key 后还会验签并解密事件。
- 长连接使用官方 SDK 和 App ID / App Secret 建立出站连接,不依赖 Webhook Token 或 Encrypt Key。
- 两种事件模式都按
event_id去重,但当前后台任务不是持久队列。
架构和信任边界详见架构说明。
- 立即替换示例数据库密码,并禁止 PostgreSQL 从公网访问。
- Webhook 只通过 HTTPS 反向代理暴露;长连接模式可将应用端口限制在私网。
- 为机器人授予消息收发和媒体资源处理所需的最小权限。
- 通过环境变量或密钥管理服务注入 App Secret、AI Key、Verification Token、Encrypt Key 和数据库凭据。
- 不记录环境变量快照、数据库连接串、Authorization 头、临时长连接 URL、完整消息正文、媒体内容或未脱敏的模型请求与响应。
- 根据 AI 服务的隐私政策、数据驻留和保留规则决定是否允许发送财务消息、图片和语音。
- 定期轮换凭据、更新依赖、备份 PostgreSQL 并验证恢复流程。
- 任何已经出现在源码、日志、聊天或工单中的凭据都应立即撤销和重新生成。
完整配置和部署验收清单见环境与部署指南。