Skip to content

Security: YJLZSL/DeskBase

Security

SECURITY.md

安全策略 · Security Policy

我们的安全立场

DeskBase(桌库)是一个本地优先的桌面办公数据工具。用户把真实的工作数据——账目、客户名单、库存、私密笔记、截图——存放在这里。这意味着我们必须把安全当成产品的一部分,而不是发布前的检查项。

我们特别重视以下方向的安全问题:

  • 本地数据保护:加密存储、密钥派生与管理、敏感字段保护
  • 崩溃一致性与数据完整性:WAL、原子写入、备份校验
  • 远程访问通道:设备配对、端到端加密、鉴权与授权
  • 插件沙箱与权限隔离
  • 安装器与更新链路:签名验证、供应链完整性
  • 隐私边界:任何可能导致数据外流的缺陷

支持的版本

我们只对以下版本提供安全更新:

版本 支持状态
最新稳定版(latest stable) ✅ 接收安全修复
上一个次版本(previous minor) ✅ 仅接收高危修复
更早版本 ❌ 不再维护,建议升级
预发布版(alpha / beta / rc) ⚠️ 尽力而为,不承诺修复时限

具体版本号请参见仓库 Releases 页面。


报告漏洞

⚠️ 请勿通过公开渠道报告安全问题

不要在 GitHub Issues、Discussions、Pull Request、社交媒体或任何公开平台披露安全漏洞。公开披露会让所有用户暴露在风险中。

私密报告渠道

请任选其一:

  1. GitHub 私密漏洞报告(首选) 仓库 Security 标签页 → Report a vulnerability。此通道端到端私密,便于我们协作与追踪。

  2. 安全邮箱 security@<项目域名>(启用后公布)。若尚未启用,请使用上一条渠道。

  3. 加密沟通 如需传输敏感细节(PoC、日志、密钥材料),请先通过上述渠道索取我们的 PGP 公钥,再加密发送。

报告中请尽量包含

  • 漏洞类型(如 XSS、路径穿越、权限提升、加密缺陷、数据外流、拒绝服务)
  • 受影响的版本、平台与架构
  • 复现步骤(最小可复现路径最好)
  • 概念验证代码或截图(若已有)
  • 影响评估:攻击者能做什么?需要什么前置条件(本地访问 / 局域网 / 用户交互)?
  • 是否有已知的缓解措施或 workaround

如果信息不完整也没关系,先报过来,我们可以一起补齐。


我们的响应流程

阶段 目标时效
确认收到报告 48 小时内
初步评估与严重性分级 5 个工作日内
提供修复计划或时间线 10 个工作日内
高危漏洞修复发布 目标 30 天内
公开致谢(征得同意后) 修复发布后

我们会全程与你保持沟通,及时同步进展。如果我们在时效内没有回应,请再次催促——可能是邮件被漏掉了。

严重性分级

我们采用接近 CVSS 的口径,并结合本项目「本地优先」的特点做调整:

级别 判定标准 示例
严重 / Critical 无需用户交互即可导致数据泄露、远程代码执行、加密被完全绕过 未鉴权的远程访问通道可读写数据库;备份加密可被离线破解
高 / High 需要少量前置条件即可导致数据泄露或完整性破坏 局域网攻击者可劫持配对流程;恶意数据文件可触发任意代码执行
中 / Medium 需要本地访问或用户交互,影响有限但真实 导出文件路径穿越;插件越权读取非授权目录
低 / Low 影响很小,或需要极高前置条件 理论上可放大日志体积导致磁盘占满

如果漏洞影响多个下游

若漏洞存在于第三方依赖中,我们会:

  1. 同步通知上游维护者;
  2. 在必要时提供临时缓解或补丁版本;
  3. 在 docs/11-security-and-resource-optimization.md 描述的供应链流程中更新依赖与 SBOM。

安全设计基线

我们的安全承诺不是口号,而是有具体工程约束的。核心条款摘录如下(完整内容见 docs/08-privacy-security.md 与 docs/11-security-and-resource-optimization.md):

  • 网络默认关闭。 程序在用户未显式开启远程 / 同步 / 更新检查前,不建立任何外部连接。
  • 默认无遥测、无埋点、无崩溃上报。 不收集设备标识、不收集使用行为。
  • 最小权限运行。 默认不要求管理员 / root 权限;仅当用户显式执行需要提权的操作时才触发提权,并说明原因。
  • 加密默认可用。 支持数据库加密、敏感字段加密与备份加密;密钥通过操作系统密钥链或用户口令派生(Argon2id 等抗暴力破解 KDF)。
  • 远程通道强制端到端加密。 不允许明文或仅传输层加密后仍由中继可读的设计。
  • 插件权限隔离。 插件运行于独立进程,按声明的权限清单授权,可一键关闭与彻底卸载。
  • 发布可验证。 发布包提供数字签名、SHA-256 校验和、SBOM(SPDX / CycloneDX)与依赖锁定,并提供可复现构建说明。
  • 不静默联网。 任何联网行为都记录在审计日志中,并可被用户查看与关闭。

供应链安全

  • 所有依赖固定版本并写入锁文件,锁文件入库。
  • CI 中对依赖执行漏洞扫描(SCA)与许可证合规检查。
  • 发布产物在隔离的、可复现的构建环境中生成,并在 CI 中验证构建可复现性。
  • 发布前对签名密钥执行最小权限与离线保管策略。
  • 每个发布版本附带 SBOM,便于下游做供应链审计。

不在范围内的报告

以下情况通常不被视为安全漏洞:

  • 需要攻击者已具备设备物理访问权与系统管理员权限,且未绕过我们的加密设计(此时数据保护依赖操作系统与全盘加密,属用户责任)
  • 用户自行关闭了加密、开启了远程访问且未设置密码等明确警示过的不安全配置
  • 对已停止维护版本的缺陷
  • 仅影响自建开发环境的、未发布代码中的问题
  • 缺少安全响应头等对本地桌面应用无实际影响的「最佳实践」类问题
  • 社会工程学攻击(钓鱼、冒充维护者等)

如果你不确定某个问题是否在范围内,直接报过来,由我们判断。


致谢

我们感谢每一位负责任地披露漏洞的安全研究者。经你同意,我们会在修复发布后于 CHANGELOG.md 与 Release Notes 中公开致谢;如果你希望匿名,我们也会尊重。

谢谢你在保护 DeskBase 用户。


请记住:先私下报告,再公开讨论。

There aren't any published security advisories