Skip to main content
cc-safety-net 只为最新发布版本提供安全修正。如果你使用旧版本,请在报告问题前升级,除非最新版本也受到该漏洞影响。 本页说明如何报告问题。信任边界、fail-closed 执行和攻击面见安全模型。策略的权威版本是源代码仓库中的 SECURITY.md 破坏性命令未被阻止,属于公开 bug。CC Safety Net 自身造成有害行为,属于需要私密报告的漏洞。不确定时,请阅读选择公开或私密报告。如需先诊断问题,请从故障排除开始。

私密报告漏洞

**不要在公开 GitHub issue 中报告安全漏洞。**如果仓库提供了 GitHub 私密漏洞报告功能,请使用该功能。如果无法使用,请发送邮件至维护者邮箱 jliew@420024lab.com 在可以安全分享时,请提供以下信息:
  • 受影响的 cc-safety-net 版本
  • 操作系统和运行时版本
  • 受影响的集成,例如 Claude Code、OpenCode、Gemini CLI、GitHub Copilot CLI、Grok Build 或 Codex
  • 复现步骤,以及绕过、削弱或滥用 CC Safety Net 的命令或输入
  • cc-safety-net explaincc-safety-net doctor 的相关输出
  • 问题是否会造成数据丢失、命令执行、机密暴露或其他具体安全影响
发送日志或命令输出前,请先对其中的令牌、凭证、私有仓库名称和敏感文件路径脱敏。
explaindoctor 的输出不能直接安全地附在报告中。脱敏只覆盖已识别的凭证形式。命令文本、解析后的 token、包含主目录的绝对路径、主机名和配置路径都会原样保留。请使用占位凭证复现问题,并在发送前检查输出。

选择公开或私密报告

CC Safety Net 应在所选安全级别的保证范围内,阻止智能体运行破坏性命令。未能阻止就是 bug,应提交到公开 GitHub issue。strict 和 paranoid 的威胁模型假定攻击者,包括提示注入或对抗性上下文,可以发出任何破坏性命令。因此,公开某种未被捕获的命令形式,不会给攻击者增加能力。公开报告也方便修正缺口,用户可以先用自定义规则处理。 如果工具自身执行了有害操作,例如泄漏机密、在自身目录外写入文件或发布被篡改的软件包,则属于漏洞。这类不明显的构造方式也属于机密,应私密披露。 判断标准是:工具只是没有阻止破坏性命令,还是工具自身造成了危害?

哪些问题属于安全问题

请私密报告以下问题:
  • 通过阻止消息、审计日志、诊断、调试输出或误报报告预填内容泄漏机密,包括针对特定令牌格式的脱敏绕过,或报告预览声称已替换但实际未替换的路径
  • 审计日志或配置处理中的路径遍历或文件系统问题,即构造的输入会写入预期目录之外
  • 影响已发布 npm 软件包或插件分发的供应链或打包问题,包括 rulebook 完整性

哪些问题应提交公开 issue

以下问题请使用普通 GitHub issues
  • 任何让破坏性命令执行的绕过或 fail open,包括覆盖缺口(规则尚未阻止的命令)、解析器、分词器或包装器分析边缘情况,或者导致命令通过而非被阻止的分析错误。请报告命令形式,不要提供可直接粘贴使用的武器化提示注入载荷。
  • 安全命令被阻止的误报
  • 缺少便利规则或新功能请求
  • 文档错误
  • 没有安全影响的安装问题
  • 关于自定义规则或配置的问题
Grok Build hook 在设计上就是 fail open,宿主也没有提供 failClosed 开关。只有 stdout 上明确的 deny 才能阻止工具调用;hook 崩溃、超时或输出格式错误时,调用照常执行。适配器仍会为自身的 fail-closed 情况输出明确的 deny,例如工具输入被截断或工作目录不可用。在这个宿主上,如果失败导致适配器完全没有输出,这次调用就不会被阻止。这是宿主行为,不是覆盖缺口。
即使破坏性命令覆盖缺口看起来很严重,它仍应公开报告。它不会被重新分类为漏洞,私密渠道仅用于上述类别。在 standard 模式的文档放宽范围内允许的命令不属于缺口。standard 只提供尽力保护;strict 或 paranoid 才会对这些形式 fail closed。

报告后的处理

你应在 7 天内收到初始响应。维护者会与你一起确认影响、确定受影响的版本、准备修正并协调披露。在公布详细信息前,请给维护者合理的调查时间。 确认漏洞后,维护者会尽快发布修正。除非你另有要求,维护者也可以发布 GitHub 安全公告或发布说明,并给予适当署名。在修正版本可用前,不要披露利用细节。
最后修改于 2026年8月31日