
Cherry Studio 安全策略全解读漏洞上报、版本支持与安全防护体系【免费下载链接】cherry-studio Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端项目地址: https://gitcode.com/CherryHQ/cherry-studioCherry Studio 是一款支持多个 LLM 提供商的桌面 AI 客户端其安全策略同时覆盖了「漏洞如何上报」「哪些版本受支持」以及「工程层面如何落实安全防护」三个层面。本文以仓库根目录的 SECURITY.md 为骨架结合源码中的 IPC 信任校验、SSRF 防护、模型输出消毒等实现为你完整梳理 Cherry Studio 的安全运营流程与底层防护机制。一、漏洞报告正确上报渠道与时限承诺Cherry Studio 对待漏洞披露的态度是「严肃、及时、负责任」。所有与安全相关的发现都必须通过私有渠道上报核心规则是严禁为安全相关报告创建公开 Issue——公开披露漏洞细节会让尚未修复的问题暴露在攻击者面前危害所有用户正确入口是 GitHub Security Advisories 的Open a draft security advisory草稿安全公告功能报告内容应包含问题的详细描述、可复现步骤、潜在影响范围、可行的缓解措施如适用建议附带PoC概念验证代码或截图帮助维护团队快速定位与验证。时限承诺维护团队会在72 小时内确认收到报告并在调查过程中持续提供状态更新。这一响应时限与下文的「协调披露」政策配套修复方案落地并发布之前漏洞细节不会对外公开。二、受支持版本更新到最新版本才能获得安全修复Cherry Studio 的安全维护范围遵循「最新版本 前一个次要版本」原则版本支持状态最新版本main分支 / 最新发布版✅ 受支持前一个次要版本Previous minor✅ 受支持更早的旧版本❌ 不受支持这意味着如果你使用的是旧版本将无法获得安全修复官方明确建议升级到最新发布版。实际版本号可在根目录 package.json 中查看当前版本字段为2.0.13所有安全修复都会随新版本发布。三、工程级安全措施从开发到运行的层层防护SECURITY.md 声明了五大类安全实践。这些并非空泛承诺在仓库源码中均有对应实现下面逐一展开。1. 严格依赖更新与定期漏洞扫描项目使用pnpm管理依赖根目录 package.json 中packageManager声明为pnpm11.8.0并对依赖版本做了精确锁定而非宽松范围。以安全敏感依赖为例electron精确锁定到41.8.0better-sqlite3本地数据库引擎锁定到12.11.1所有ai-sdk/*提供商 SDK 均使用精确版本号。结合仓库patches/目录中大量的补丁文件如ai-sdk__anthropic.patch、ai6.0.185.patch等可以看出项目对上游依赖问题会采取主动打补丁的方式及时修复而非被动等待上游发版。2. TypeScript 严格模式与 Lint 检查项目全面采用 TypeScript 并启用了严格检查。typecheck脚本见 package.json会对 Node 侧与 Web 侧分别执行tsgo --noEmit类型检查test:lint则组合oxlint与eslint双引擎进行代码规范校验。在源码中可以看到严格类型约束的实际效果例如 IPC 校验模块 src/main/core/security/validateSender.ts 中对IpcMainInvokeEvent、senderFrame、WebFrameMain等 Electron 类型做了精细的类型化处理类型系统本身就能防止把任意对象误当成可信事件源。3. 强制代码格式化与 pre-commit 钩子项目通过biome统一格式化与静态检查format脚本执行biome format --write biome lint --write并配合prepare钩子prek install在安装阶段完成环境初始化。CI 脚本ci:basic-check中串联了 lint、format 检查、typecheck、i18n 检查、skills 检查与文档检查保证任何提交进入主线前都已通过全套质量门槛。4. 发布前内部安全审查从发布流程看仓库在 scripts/release/ 目录下维护了一整套发布校验工具validate-release-state.js、validate-edition-artifacts.js、validate-prepared-release.js等配合 docs/contrib/release-workflow.md 中描述的发布流程安全审查是发版前的重要环节。5. 专为 MCP 与模型交互设计的安全防护这是 AI 客户端特有的安全重点。SECURITY.md 特别强调了对 MCPModel Context Protocol交互与数据隐私的专门防护源码中可找到多层实现IPC 调用方信任校验由于应用启用了webviewTag、MiniApp 可加载任意远程 URLsrc/main/core/security/guardedIpc.ts 中的handleGuarded/assertTrustedSender会对每个 IPC 请求执行来源校验src/main/core/security/validateSender.ts 则实现了完整的validateSender判定逻辑拒绝webview嵌入客体的请求、拒绝子 iframe 帧、仅信任应用自身 app 根目录内的file:页面与开发服务器源会话级加固src/main/core/security/selfHardenedSessions.ts 使用WeakSet登记已自加固的 Electron Session避免通用加固逻辑覆盖会话所有者安装的独立安全策略模型输出消毒src/main/ai/untrustedContent.ts 在把模型生成的文本放入受信任提示词边界之前会剔除不可见字符零宽字符、Bidi 控制符等、规范化全角尖括号并对system-reminder标签进行 HTML 转义防止提示注入与排版伪装攻击工具审批机制MCP 工具调用遵循审批流详见 docs/references/ai/tool-approval.md模型不能未经用户确认就执行敏感操作。6. 远程内容与 SSRF 防护补充佐证与 SECURITY.md 声明的安全实践相呼应仓库在 docs/references/security/remote-fetch.md 中完整记录了主进程远程抓取的 SSRF 防护规则对应实现位于 src/main/utils/remoteFetch.ts 与 src/main/utils/remoteUrlSafety.ts拒绝非 HTTP(S) 协议与内嵌凭据拒绝 localhost、私网、CGNAT、链路本地、组播、广播、保留地址等字面量 IP连接打开前先做 DNS 解析并把实际连接固定pin到预校验通过的地址保留原始Host头与 TLS SNI从而封堵 DNS 重绑定TOCTOU攻击默认拒绝重定向跟随重定向时逐跳重新校验并剥离跨源Authorization/Cookie等敏感头主进程缓冲响应体前强制设置大小上限。以上防护同样通过app.fetch.allow_private_network偏好提供灵活性默认开启以兼容局域网 NAS 与代理场景关闭后恢复完整拦截。四、协调披露政策Cherry Studio 采用行业标准的**协调披露Coordinated Disclosure**模式在修复方案开发完成并随新版本发布之前不会公开披露漏洞细节对于负责任上报漏洞的研究者按请求给予署名致谢。这意味着安全研究者可以与维护团队在私密通道内充分沟通而不必担心「公开抢跑」导致用户暴露在风险中。五、致谢与联系方式维护团队公开感谢安全社区的所有贡献者并持续认可帮助 Cherry Studio 保持安全的研究人员。对于不涉及漏洞的一般性安全问题可通过securitycherry-ai.com联系官方漏洞报告请仍走 GitHub Security Advisories 草稿通道。关于漏洞报告时限、版本支持范围等最新声明始终以根目录 SECURITY.md 为权威依据。六、进一步阅读仓库安全相关资源索引安全策略原文SECURITY.mdIPC 调用方信任校验实现src/main/core/security/guardedIpc.ts、src/main/core/security/validateSender.ts会话级安全策略登记src/main/core/security/selfHardenedSessions.ts校验逻辑单元测试src/main/core/security/tests/validateSender.test.ts模型输出消毒src/main/ai/untrustedContent.ts远程抓取 SSRF 防护文档与实现docs/references/security/remote-fetch.md、src/main/utils/remoteFetch.tsMCP 工具审批机制docs/references/ai/tool-approval.md发布流程与校验脚本docs/contrib/release-workflow.md、scripts/release/总的来说Cherry Studio 的安全策略是一套「运营流程漏洞上报、版本支持、协调披露 工程实践依赖治理、静态检查、发布审查 运行时防护IPC 信任边界、SSRF 防护、MCP 与模型内容防护」三位一体的体系。对安全研究者而言遵循本文第一节的私有上报渠道并参考第三节的源码实现可以快速理解攻击面对普通用户而言保持更新到受支持版本就是最有效的安全实践。【免费下载链接】cherry-studio Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端项目地址: https://gitcode.com/CherryHQ/cherry-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考