跳至主要内容

创建和管理安全活动

您可以在组织的安全概览页面直接管理安全活动。

谁可以使用此功能?

组织所有者、安全管理员以及拥有 admin 角色的组织成员

已在 GitHub Team 上启用 GitHub Secret Protection 或 GitHub Code Security 的组织

注意

针对机密扫描警报的活动目前处于公开预览阶段,可能会更改。

创建安全活动

安全活动从组织的 安全与质量 选项卡。

您可以通过以下两种方式选择要包含在活动中的警报:

  • 活动模板:活动模板内置了针对最常见警报选择的过滤器。对于代码活动,它们还会统一要求所有包含的警报类型都支持 GitHub Copilot 自动修复(即 autofix:supported)。
  • 自定义过滤器:使用自定义过滤器创建活动可让您自行定义选择警报的标准,并根据组织的特定需求定制活动。

此外,您还可以使用 REST API 更高效、大规模地创建和交互活动。详情请参阅 安全活动的 REST API 端点

创建活动

  1. 在 GitHub 上,前往该组织的首页。
  2. 在组织名称下,点击 安全与质量 选项卡。
  3. 在左侧边栏,点击 活动
  4. 点击 创建活动 ,然后在以下选项中选择其一。
    • 点击 从模板,然后从列表中选择预定义的 代码机密 活动模板。
    • 点击 从代码扫描过滤器从机密扫描过滤器,然后添加过滤器以定义活动的警报子集。参见 有用过滤器示例
  5. 检查即将包含在活动中的警报集合,并在必要时调整过滤器。请确保所选警报不超过 1000 条。
  6. 确认活动范围后,点击 另存为,然后选择是要创建草稿活动,还是直接进入最终确定活动细节并发布。
    • 如果您计划在发布前审查活动范围和细节,或希望就活动实现征求反馈,请点击 草稿活动
    • 如果您直接发布活动且不需要审查阶段,请点击 发布活动
  7. 如果您选择创建草稿活动,可在此阶段编辑、保存并审查活动详情。
    • 编辑“活动名称”和“简短描述”,使其符合活动需求,并链接到支持活动的相关资源。
    • 设定“活动截止日期”,并选择一位或多位“活动管理员”作为活动的主要联系人。活动管理员必须是组织中拥有所有者或安全管理权限的用户或团队。
    • 可选地,提供一个“联系链接”,例如指向 GitHub Discussions 或其他沟通渠道的链接,用于联系活动管理员。
    • 点击 保存草稿
    • 准备好发布活动后,点击右上角的 审查并发布
  8. 在“发布活动”页面,审查或编辑活动详情。
    • 活动名称
    • 简短描述
    • 截止日期
    • 活动管理员
    • 联系链接
  9. (可选)对于“代码”活动,在“发布活动”页面的“自动化”部分,勾选 “为本活动中的 NUMBER 个仓库创建议题” 复选框,以在每个被包含的仓库中创建活动议题。
  10. 点击 发布活动

安全活动已创建,系统将显示活动概览页面。

您是否已成功为组织创建了安全活动?

有用过滤器示例

所有模板过滤器均使用 is:open 只包含需要解决的警报。对于代码扫描警报,还必须出现在默认分支上。

代码扫描警报的其他默认过滤器

  • autofilter:true 仅包含看起来位于应用代码中的警报。
  • autofix:supported 仅包含针对 GitHub Copilot 自动修复受支持的规则的警报。

有关过滤警报的更多信息,请参阅 大规模修复警报的安全活动指南安全概览中的警报过滤

代码扫描警报过滤器

除了核心过滤器之外,您通常还会想添加过滤器,以将结果限制在特定的规则名称、严重程度或标签上。

  • is:open autofilter:true autofix:supported rule:java/log-injection 仅显示 Java 代码中日志注入的警报。参见 CodeQL 分析查询
  • is:open autofilter:true autofix:supported tag:external/cwe/cwe-117 仅显示 “CWE 117:日志输出不当中和” 的警报。这包括 Java 以及其他语言的日志注入。
  • is:open autofilter:true autofix:supported severity:critical 仅显示安全严重程度为 Critical 的警报。

机密扫描警报过滤器

除了核心过滤器之外,您通常还会想添加过滤器,以将结果限制在特定提供者、机密类型或(仅限企业账号)绕过推送保护的机密上。

  • is:open provider:azure 仅显示提供者为 Azure 的警报。
  • is:open secret-type:azure_ai_services_key,azure_cognitive_services_key 仅显示令牌 “azure_ai_services_key” 与 “azure_cognitive_services_key”。参见 受支持的机密扫描模式
  • is:open props.BusinessPriority:Urgent 仅显示自定义属性 “BusinessPriority” 为 “Urgent” 的仓库警报。参见 管理组织中仓库的自定义属性

启动安全活动

当您创建代码活动时,所有警报会自动提交至 GitHub Copilot 自动修复,并在可用容量范围内处理。这可确保在拉取请求中发现的警报建议不会因新活动而延迟。大多数情况下,所有可生成的建议会在一小时内准备完毕;在高峰时段或面对特别复杂的警报时,可能需要更长时间。

开发者如何知道安全活动已经启动

新活动会显示在每个被包含仓库的 安全与质量 选项卡中。

  • 代码活动:拥有活动中仓库 写入 权限的任何人都会收到通知。
  • 机密活动:拥有查看活动中仓库警报列表视图权限的任何人都会收到通知。

提示

您可以将活动警报指派给拥有仓库 写入 权限的任意成员,详见 指派警报

有关开发者体验的更多信息,请参阅 在安全活动中修复警报

如何提升安全活动的参与度

提升活动参与度的最佳方式是向您希望合作处理警报的团队宣传该活动。例如,您可以与工程经理合作,挑选一个相对安静的开发周期,开展一系列聚焦不同警报类型的安全活动,并配套相应的培训。更多想法请参阅 大规模修复警报的安全活动实践

编辑安全活动详情

您可以编辑活动的名称、描述、截止日期和管理员。

  1. 在 GitHub 上,前往该组织的首页。
  2. 在组织名称下,点击 安全与质量 选项卡。
  3. 在左侧边栏,点击 活动
  4. 在活动列表中,点击活动名称以打开活动跟踪视图。
  5. 在活动标题行,点击并选择 编辑活动
  6. 在 “编辑活动” 对话框中进行更改后,点击 保存更改

更改会立即生效。

关闭、重新打开和删除安全活动

活动最多可同时保持 10 个活跃。活动完成或需要暂停时,请关闭它。您仍可在 “已关闭” 活动列表中查看所有已关闭的活动,并可重新打开已关闭的活动。

如果您不需要保留活动或其数据,可将其删除。

关闭活动

  1. 在 GitHub 上,前往该组织的首页。
  2. 在组织名称下,点击 安全与质量 选项卡。
  3. 在左侧边栏,点击 活动
  4. 在要关闭的活动右侧,点击,随后选择 关闭活动

重新打开已关闭的活动

  1. 在 GitHub 上,前往该组织的首页。
  2. 在组织名称下,点击 安全与质量 选项卡。
  3. 在左侧边栏,点击 活动
  4. 在活动列表上方,点击 已关闭 查看已关闭的活动列表。
  5. 在要重新打开的活动右侧,点击,随后选择 重新打开活动

删除活动

  1. 在 GitHub 上,前往该组织的首页。
  2. 在组织名称下,点击 安全与质量 选项卡。
  3. 在左侧边栏,点击 活动
  4. 在要删除的活动右侧,点击,随后选择 删除活动

后续步骤

© . This site is unofficial and not affiliated with GitHub, Inc.