创建安全性活动
安全性活动通过组织的“安全性”选项卡创建和管理****。
可以使用以下任一方法选择要包含在活动中的警报:
- 活动模板:包含针对最常见的警报选择的筛选器****。 它们还包括以下要求:包含的所有警报类型都支持 GitHub Copilot Autofix(也就是
autofix:supported
)。 - 自定义筛选器****:使用自定义筛选器创建活动时,你可以自行定义选择警报的条件,从而使活动更贴合你组织的具体需求。
此外,还可使用 REST API 更高效地大规模创建活动并与之交互。 有关详细信息,请参阅“用于安全活动的 REST API 终结点”。
创建活动
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击“ 安全性”。
-
In the left sidebar, click Campaigns.
-
单击“Create campaign ”,然后选择以下选项之一****:
- 单击“From template”,然后从列表中选择预定义的活动模板****。
- 单击“From code scanning filters”,然后添加筛选器,定义你希望纳入活动的一组警报****。 请参阅有用的筛选器示例。
-
请查看将包含在活动中的一组警报,并根据需要调整筛选器。 确保选择的警报总数不超过 1000 条。
-
对活动的范围感到满意后,单击“Save as”,然后选择是希望先创建活动草稿,还是直接完成活动细节后就发布****:
- 如果计划在发布前查看活动的范围和详细信息,或寻求有关活动实施情况的反馈,请单击“ Draft campaign”****。
- 如果打算直接发布活动且不需要审核阶段,请单击“ Publish campaign”****。
-
(可选)如果选择创建草稿活动,还可以编辑、保存和查看活动的详细信息:
- 编辑“活动名称”和“简短说明”,以匹配活动需求并链接到支持该活动的任何资源。
- 定义“市场活动截止日期”,并选择一个或多个“市场活动经理”作为市场活动的主要联系人。 市场活动经理必须是在组织中担任所有者或安全经理的用户或团队。
- (可选)提供“联系人链接”(例如指向 GitHub Discussions 或其他沟通渠道的链接)以便与市场活动经理联系。
- 单击“保存草稿”。
- 准备好发布活动时,请在右上角单击“Review and publish”****。
-
在“Publish campaign”页面上,查看或编辑活动详细信息:
- 活动名称
- 简短说明
- 截止日期
- 活动负责人
- 联系链接
-
(可选)要在活动中包含的每个仓库中创建活动议题,请在“Publish campaign”页面的“Automations”部分,勾选“Create issues for NUMBER repositories in this campaign”旁边的复选框。
-
单击“Publish campaign”****。
安全性活动随即创建,并显示活动概述页面。
有用的筛选器示例
所有模板筛选器都包含以下有用的筛选器:
is:open
仅包括在默认分支中打开的警报。autofilter:true
仅包括出现在应用程序代码中的警报。autofix:supported
仅包含 GitHub Copilot Autofix 支持的规则的警报。
包括这些核心筛选器后,通常需要添加筛选器以将结果限制为特定的规则名称、严重性或标记。 例如:
is:open autofilter:true autofix:supported rule:java/log-injection
用于仅显示 Java 代码中日志注入的警报。is:open autofilter:true autofix:supported tag:external/cwe/cwe-117
用于仅显示“CWE 117: 日志的输出中和不当”的警报。 这包括 Java 和其他语言的日志注入。is:open autofilter:true autofix:supported severity:critical
,用于仅显示安全严重性为严重的警报。
提示
在搜索字段中输入关键字,后跟冒号时,将显示所有有效值的列表,例如:tag:
。
有关 CodeQL 运行的规则以及对自动修复的支持的详细信息,请参阅默认查询套件的查询列表。
有关筛选警报的详细信息,请参阅 大规模处理和解决安全警报的最佳做法 和 筛选安全概述中的警报。
启动安全性活动
创建活动时,所有警报都会自动提交到 GitHub Copilot Autofix,以便在容量允许的情况下进行处理。 这可确保在拉取请求中找到的警报建议不会因新活动而延迟。 在大多数情况下,你应该会发现所有可创建的建议都在一小时内准备就绪。 在一天中的繁忙时段或对于特别复杂的警报,将需要更长的时间。
开发人员如何知道安全性活动已启动
启动市场活动后,对活动中包含的仓库具有“写入”权限的任何人以及已订阅关注该仓库中“所有活动”或“安全警报”的人都将收到通知****。
除了自动发送的通知外,新活动还会在包含的每个存储库边栏中的“安全性”选项卡中显示。 有关开发人员体验的详细信息,请参阅 修复安全活动中的警报。
如何提高与安全性活动的参与度
提升活动参与度的最佳方法是将其公布给要进行协作以修正警报的团队。 例如,你可能与工程经理合作,选择一个较安静的开发期来运行一系列安全性活动,每项活动都侧重于不同类型的警报,并具有相关培训课程。 有关详细信息,请参阅 大规模处理和解决安全警报的最佳做法。
编辑安全性活动详细信息
可以编辑活动的名称、说明、截止日期和管理员。
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击“ 安全性”。
-
In the left sidebar, click Campaigns.
-
在活动列表中,单击活动名称以显示活动跟踪视图。
-
在活动标题行中,单击“”并选择“ Edit campaign”****。
-
在“编辑活动”对话框中进行更改,然后单击“保存更改”****。
更改将立即生效。
关闭、重新打开或删除安全活动
可用活动的数量限制为 10 个。 活动完成后,或者如果要暂停活动,应将其关闭。 你仍然可以在“已关闭”活动列表中查看所有已关闭的活动,并且可以重新打开关闭的活动。
如果不需要保留活动或其数据,可以将其删除。
关闭活动
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击“ 安全性”。
-
In the left sidebar, click Campaigns.
-
在要关闭的活动右侧,单击“”,然后选择“ Close campaign”****。
重新打开已关闭的活动
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击“ 安全性”。
-
In the left sidebar, click Campaigns.
-
在活动列表上方,单击“Closed”,查看已关闭活动的列表。
-
在要重新打开的活动右侧,单击“”,然后选择“ Reopen campaign”****。
删除活动
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击“ 安全性”。
-
In the left sidebar, click Campaigns.
-
在要删除的活动右侧,单击“”,然后选择“ Delete campaign”****。