Skip to content

Security: 0verme/LarkLedger

SECURITY.md

安全策略

支持范围

项目目前处于 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 并验证恢复流程。
  • 任何已经出现在源码、日志、聊天或工单中的凭据都应立即撤销和重新生成。

完整配置和部署验收清单见环境与部署指南

There aren't any published security advisories