跳至主要内容

使用 GitHub 预设规则对 Dependabot 警报进行优先级排序

您可以使用 GitHub 预设(由 GitHub 策划的规则)自动忽略 npm 依赖项中影响较小的开发警报。

谁可以使用此功能?

  • 组织所有者
  • 安全管理员
  • 拥有**管理员**访问权限的用户(可以为代码库启用、禁用和查看 GitHub 预设)

关于 GitHub 预设

忽略开发范围依赖项的影响较小的问题规则是 GitHub 预设,可自动忽略在开发中使用的 npm 依赖项中发现的某些类型的漏洞。这些警报涵盖了大多数开发人员认为是误报的情况,因为相关的漏洞

  • 在开发(非生产或运行时)环境中不太可能被利用。
  • 可能与资源管理、编程和逻辑以及信息泄露问题有关。
  • 最糟糕的情况是,影响有限,例如构建速度缓慢或测试运行时间过长。
  • 并不表示生产环境中存在问题。

注意

目前仅支持 npm 自动忽略影响较小的开发警报。

忽略开发范围依赖项的影响较小的问题规则包括与资源管理、编程和逻辑以及信息泄露问题相关的漏洞。有关更多信息,请参阅““忽略开发范围依赖项的影响较小的问题”规则使用的公开披露的 CWE”。

过滤掉这些影响较小的警报可以让您专注于对您重要的警报,而无需担心错过可能存在高风险的开发范围警报。

忽略开发范围依赖项的影响较小的问题规则在公共代码库中默认启用,在私有代码库中禁用。私有代码库的管理员可以通过为其代码库启用该规则来选择加入。

为您的私有代码库启用“忽略开发范围依赖项的影响较小的问题”规则

您首先需要为代码库启用 Dependabot 警报。有关更多信息,请参阅“配置 Dependabot 警报”。

  1. 在 GitHub 上,导航到代码库的主页。

  2. 在您的代码库名称下,单击 **设置**。如果您看不到“设置”选项卡,请选择****下拉菜单,然后单击**设置**。

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在侧边栏的“安全”部分,单击** 代码安全和分析**。

  4. 在“Dependabot 警报”下,单击靠近“Dependabot 规则”。

    Screenshot of the "Code security and analysis" page for a repository. The gear icon is highlighted with an orange outline.

  5. 在“GitHub 预设”下,“忽略开发范围依赖项的影响较小的问题”右侧,单击.

  6. 在“状态”下,选择下拉菜单,然后单击“已启用”。

  7. 单击**保存规则**。

“忽略开发范围依赖项的影响较小的问题”规则使用的公开披露的 CWE

除了ecosystem:npmscope:development警报元数据外,我们还使用以下 GitHub 策划的通用弱点枚举 (CWE) 来过滤掉忽略开发范围依赖项的影响较小的问题规则的影响较小的警报。我们定期改进此列表以及内置规则涵盖的漏洞模式。

资源管理问题

  • CWE-400 未控制的资源消耗
  • CWE-770 分配资源时未设置限制或节流
  • CWE-409 对高度压缩数据处理不当(数据放大)
  • CWE-908 使用未初始化的资源
  • CWE-1333 正则表达式复杂度低效
  • CWE-835 循环存在无法到达的退出条件(“无限循环”)
  • CWE-674 未控制的递归
  • CWE-1119 无条件分支使用过多

编程和逻辑错误

  • CWE-185 正则表达式不正确

  • CWE-754 未正确检查异常或特殊情况
  • CWE-755 异常情况处理不当
  • CWE-248 未捕获异常
  • CWE-252 未检查返回值
  • CWE-391 未检查错误条件
  • CWE-696 行为顺序不正确
  • CWE-1254 不正确的比较逻辑粒度
  • CWE-665 初始化不当
  • CWE-703 异常情况检查或处理不当
  • CWE-178 大小写敏感性处理不当

信息泄露问题

  • CWE-544 缺少标准化的错误处理机制
  • CWE-377 不安全的临时文件
  • CWE-451 用户界面 (UI) 对关键信息错误表示
  • CWE-668 资源暴露于错误的范围