Skip to content

Security: txp666/PageBridge

SECURITY.md

安全说明

报告问题

不要在公开 Issue、PR、截图或日志中附带 API Key、用户文档、Cookie、钥匙串内容或完整服务配置。发现泄露时先在对应服务撤销凭据,再联系维护者。

本仓库已启用 GitHub 私密漏洞报告,请使用 Security → Report a vulnerability。该入口将报告发送给仓库维护者,不要改用公开 Issue 提交漏洞利用细节或敏感附件。若无法使用此入口,先通过仓库请求私密联系方式,不在公开消息中展开细节。

请提供受影响版本、系统版本、最小复现、可能影响和脱敏证据。项目目前没有承诺固定响应时间或旧版本维护期限。

数据与网络

  • API Key 由 macOS 钥匙串保存;普通设置文件不存储 Key。
  • 文档、译文、批注和对话保存在本机用户数据目录。启用云模型后,明确发出的翻译或问答会向所选服务发送所需文本。
  • OpenAlex 搜索发送搜索词;Sci-Hub 全文查询发送 DOI;下载 PDF 会连接对应来源。搜索不使用翻译 API Key。
  • 应用内站点验证使用独立临时 WebKit 会话,不导出网页凭据;匿名下载器不继承该会话的 Cookie。
  • 更新检查访问本项目 GitHub Releases 的 HTTPS appcast;更新 feed 和 ZIP 以 Ed25519 验证,客户端不发送文档、笔记、模型密钥或系统配置画像。托管方仍会收到普通网络请求元数据。
  • 自动检查需要用户同意,不静默下载或安装;正在翻译时暂缓更新检查和安装。
  • 不通过关闭 TLS 检查或替换域名来处理证书错误。外部网站、文档和模型回答均属于不可信输入。

当前发行包采用 ad-hoc 签名,未完成 Developer ID 签名与 Apple 公证。发布者应在下载页明确说明此状态;签名、公证与软件无漏洞是不同事项。

更新签名与发布权限

update-config.json 中的公钥用于校验官方更新,可以公开。OTA 私钥只用于发布签名,保存在维护者本机钥匙串和此 GitHub 仓库的 SPARKLE_PRIVATE_KEY Secret;普通 PR/CI 不应获得密钥。若怀疑泄露,停止发布并通过私密渠道通知维护者,不要把密钥本身作为复现附件。公钥更换涉及已安装客户端的信任链,不能只替换更新 feed 来完成轮换。

发现更新验证错误时保留当前应用,并检查官方发布状态;不要关闭签名检查、TLS 验证或编辑已安装应用中的公钥。OTA 签名不等同于 Developer ID 签名或 Apple 公证,也不构成软件无漏洞的证明。

There aren't any published security advisories