注意
secret scanning 警报的相关活动当前处于 公共预览版 阶段,可能随时更改。
创建安全性活动
安全性活动通过组织的“安全性”选项卡创建和管理****。
可以使用以下任一方法选择要包含在活动中的警报:
-
**活动模板**:活动模板包含最常见警报选择的筛选器。 对于代码活动,它们还都包含一项要求,即 GitHub Copilot自动修复 支持所包含的所有警报类型(也就是说 `autofix:supported`)。 -
**自定义筛选器**:使用自定义筛选器创建活动时,你可以自行定义选择活动警报的条件,从而使活动更贴合你组织的具体需求。
此外,还可使用 REST API 更高效地大规模创建活动并与之交互。 有关详细信息,请参阅“用于安全活动的 REST API 终结点”。
创建活动
-
在 GitHub 上,导航到组织的主页面。1. 在组织名称下,单击“ Security”****。
1. 在边栏中,单击“ Campaigns”****。
-
单击“Create campaign ”,然后选择以下选项之一****:
- 单击“From template”,然后从列表中选择一个预定义的 “Code”或“Secrets”活动模板************。
- 单击“From code scanning filters”或“From secret scanning filters”,然后添加筛选器,定义你希望纳入活动的一组警报********。 请参阅有用的筛选器示例。
-
请查看将包含在活动中的一组警报,并根据需要调整筛选器。 确保选择的警报总数不超过 1000 条。
-
对活动的范围感到满意后,单击“Save as”,然后选择是希望先创建活动草稿,还是直接完成活动细节后就发布****:
- 如果计划在发布前查看活动的范围和详细信息,或寻求有关活动实施情况的反馈,请单击“ Draft campaign”****。
- 如果打算直接发布活动且不需要审核阶段,请单击“ Publish campaign”****。
-
(可选)如果选择创建草稿活动,还可以编辑、保存和查看活动的详细信息:
- 编辑“活动名称”和“简短说明”,以匹配活动需求并链接到支持该活动的任何资源。
- 定义“市场活动截止日期”,并选择一个或多个“市场活动经理”作为市场活动的主要联系人。 市场活动经理必须是组织中的所有者或安全经理的用户或团队。
- (可选)提供“联系人链接”(例如指向 GitHub Discussions 或其他沟通渠道的链接)以便与市场活动经理联系。
- 单击保存草稿。
- 准备好发布活动时,请在右上角单击“Review and publish”****。
-
在“Publish campaign”页面上,查看或编辑活动详细信息:
- 活动名称
- 简短说明
- 截止日期
- 活动负责人
- 联系链接
-
(可选)对于“Code”活动,要在活动中包含的每个仓库中创建活动议题,请在“Publish campaign”页面的“Automations”部分,勾选“Create issues for NUMBER repositories in this campaign”旁边的复选框。
-
单击“Publish campaign”****。
安全性活动随即创建,并显示活动概述页面。
注释 %}
是否已成功为组织创建了安全活动吗?
<a href="https://docs.github.io/success-test/yes.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline">
<span>是</span></a><a href="https://docs.github.io/success-test/no.html" target="_blank" class="btn btn-outline mt-3 mr-3 no-underline"><span>否</span></a>
尾注 %}
有用的筛选器示例
所有模板筛选器都使用 is:open,以仅包含需要解决的警报。 对于 code scanning 警报,它们还必须存在于默认分支中。
code scanning 警报的其他默认筛选器:
-
`autofilter:true` 仅包括出现在应用程序代码中的警报。 -
`autofix:supported` 仅包含 GitHub Copilot自动修复 支持的规则的警报。
有关筛选警报的详细信息,请参阅 开展安全计划以大规模解决警报问题 和 在安全概述中筛选警报。
Code scanning 警报筛选器
除核心筛选器外,你通常还需要添加一个筛选器,以将结果限制为特定的规则名称、严重性或标记。
-
`is:open autofilter:true autofix:supported rule:java/log-injection`仅显示Java代码中日志注入的警报。 请参阅“[AUTOTITLE](/code-security/code-scanning/reference/code-ql-built-in-queries)”。 -
`is:open autofilter:true autofix:supported tag:external/cwe/cwe-117` 用于仅显示“CWE 117: 日志的输出中和不当”的警报。 这包括Java和其他语言的日志注入。 -
`is:open autofilter:true autofix:supported severity:critical`,用于仅显示安全严重性为严重的警报。
Secret scanning 警报筛选器
除核心筛选器之外,你通常还需要添加一个筛选器,以将结果限定为特定的提供程序、机密类型,或限定为已绕过推送保护的机密(仅企业帐户)。
-
`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”的警报。 请参阅“[AUTOTITLE](/code-security/secret-scanning/introduction/supported-secret-scanning-patterns#supported-secrets)”。 -
`is:open props.BusinessPriority:Urgent`,仅显示自定义属性“BusinessPriority”的值为“Urgent”的存储库的警报。 请参阅“[AUTOTITLE](/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization)”。
启动安全性活动
创建代码活动时,所有警报都会自动提交到 GitHub Copilot自动修复,以便在容量允许的情况下进行处理。 这可确保在拉取请求中找到的警报建议不会因新活动而延迟。 在大多数情况下,你应该会发现所有可创建的建议都会在一小时内准备就绪。 在一天中的繁忙时段或对于特别复杂的警报,将需要更长的时间。
开发人员如何知道安全性活动已启动
新活动将显示在包含的每个仓库边栏中的“Security”选项卡中。
-
**代码活动**:任何对该活动所包含的存储库拥有**写**权限的用户都会收到通知。 -
**机密活动**:任何对该活动所包含的存储库的警报列表视图具有查看权限的用户都会收到通知。
有关开发人员体验的详细信息,请参阅 修复安全活动中的警报。
如何提高安全活动的参与度
提升活动参与度的最佳方法是将其公布给要进行协作以修正警报的团队。 例如,你可能与工程经理合作,以选择一个较安静的开发期来运行一系列安全活动,每项活动都侧重于不同类型的警报,并具有相关培训课程。 有关详细信息,请参阅 开展安全计划以大规模解决警报问题。
编辑安全性活动详细信息
可以编辑活动的名称、说明、截止日期和管理员。
-
在 GitHub 上,导航到组织的主页面。1. 在组织名称下,单击“ Security”****。
1. 在边栏中,单击“ Campaigns”****。
-
在活动列表中,单击活动名称以显示活动跟踪视图。
-
在活动标题行中,单击“”并选择“ Edit campaign”****。
-
在“编辑活动”对话框中进行更改,然后单击“保存更改”****。
更改将立即生效。
关闭、重新打开或删除安全活动
可用活动的数量限制为 10 个。 活动完成后,或者如果要暂停活动,应将其关闭。 你仍然可以在“已关闭”活动列表中查看所有已关闭的活动,并且可以重新打开关闭的活动。
如果不需要保留活动或其数据,可以将其删除。
关闭活动
-
在 GitHub 上,导航到组织的主页面。1. 在组织名称下,单击“ Security”****。
1. 在边栏中,单击“ Campaigns”****。
-
在要关闭的活动右侧,单击“”,然后选择“ Close campaign”****。
重新打开已关闭的活动
-
在 GitHub 上,导航到组织的主页面。1. 在组织名称下,单击“ Security”****。
1. 在边栏中,单击“ Campaigns”****。
-
在活动列表上方,单击已关闭,查看已关闭活动的列表。
-
在要重新打开的活动右侧,单击“”,然后选择“ Reopen campaign”****。
删除活动
-
在 GitHub 上,导航到组织的主页面。1. 在组织名称下,单击“ Security”****。
1. 在边栏中,单击“ Campaigns”****。
-
在要删除的活动右侧,单击“”,然后选择“ Delete campaign”****。
后续步骤
-
[AUTOTITLE](/code-security/securing-your-organization/fixing-security-alerts-at-scale/tracking-security-campaigns)