Skip to content

Security: Jedeiah/dsh-desktop

Security

SECURITY.md

安全策略

报告漏洞

请不要开公开 issue。用 GitHub 的私密报告通道:仓库 → Security → Report a vulnerability(Security Advisories)。

如果该通道不可用,可以开一个不含细节的 issue,只说明"有一个安全问题需要私下沟通",我们会给出联系方式。

请在报告里尽量包含:影响版本、复现步骤、影响范围(能否读/写用户数据、能否执行任意代码)、你的环境。我们会在确认后告知修复计划,并在修复版本发布后致谢(除非你希望匿名)。

本项目的安全边界

桌面壳不修改官方 dsh,也不在壳里注入业务代码。它的安全边界如下,改动这些边界的 PR 必须显式说明并附测试:

边界 现状
网络暴露 dsh 被强制监听 127.0.0.1,端口由系统随机分配(--port 0),不对外暴露
工作台来源 工作台是远程来源(http://127.0.0.1),Tauri 默认拒绝其全部 IPC;唯一授权是把 ⌘/Ctrl+K 与 ⌘/Ctrl+1–4 五组组合键转发回壳页
管理命令 只有壳页(tauri://localhost)能调用;安装/卸载命令内另有 label 校验作为第二道防线
日志 工作台 URL 的 token= 与 URL 中的 userinfo 凭据在写盘前替换为 ***
安装可信 dsh 由内置 pnpm 从 npm registry 安装并校验 dist.integrity(sha512);切换前做双重自检
App 更新 校验 SHA-256 与产物大小,不符即失败并清理临时文件
卸载清理 只触碰以本 App bundle id 命名的精确绝对路径(加自产临时包 dsh-desktop-update-*),共享父目录一律拒绝——该不变量由单元测试守护
数据收集 无。不上报、不统计、不含任何形式的遥测

已知的、不视为漏洞的事项

  • 应用未签名/未公证:首次打开 macOS 需右键确认、Windows 可能提示 SmartScreen。这是已知取舍(见 README「已知限制与路线」),不是漏洞;但它意味着你应当只从本仓库的 Releases 下载产物。
  • 本地工作台需要凭据:dsh web 会生成带 token= 的本地访问链接,这是上游 dsh 的行为。同机上的其它进程本就能读取你的用户数据,不属于本项目能防御的范围。

There aren't any published security advisories