什么是代码安全活动?
代码安全活动是针对一个或多个仓库中的特定代码扫描警报组进行修复的集中行动。
活动由组织所有者或安全管理者创建,通常针对在仓库默认分支中检测到的警报。如果您正在参与活动,说明已经邀请您帮助解决其中的一部分警报。
参与活动有哪些好处?
除了降低组织代码库的风险之外,安全活动中的警报相较于在您自己的仓库中单独修复警报,还具备多项额外优势。
- 您拥有安全团队的活动负责人可供协作,同时还有专门的联系链接用于讨论活动相关事宜。
- 您知道自己正在修复对公司至关重要的安全警报。
- 您可能还能获得针对性的培训材料。
- 无需自行请求 GitHub Copilot 自动修复建议,系统已经为您提供了可直接使用的起始方案。
- 如果您可以使用 GitHub Copilot Chat,能够就警报本身及建议的修复方案提出问题。
- 您正在提升并展示自己的安全编码知识。
参与活动不仅帮助降低组织代码库的风险,还能强化您的安全编码技能。
1. 了解活动
首先查看活动更新和截止日期,以便您能够有效规划工作。
通知设置
只要您对仓库拥有 write 权限,系统会自动向您发送有关安全活动的电子邮件更新,让您随时了解相关进展。
此外,如果有人将代码扫描或机密扫描警报指派给您,您也会收到通知,参见 指派警报。
查看活动详情
当您打开拥有一个或多个活动警报的仓库的 Security and quality 选项卡时,您可以在侧边栏看到活动名称。点击该名称即可查看活动中包含的警报列表以及活动进度的概要信息。
活动生成的 GitHub Issues
某些活动会自动为每个仓库创建 GitHub Issue,详细列出活动负责人、联系 URL 与截止日期。
使用此 Issue 来协同工作、跟踪进度并保持相关方一致。例如,您可以使用此 Issue 来
- 将 Issue 添加到项目看板
- 添加受理人
- 创建子 Issue 或任务列表
2. 在应用修复之前构建上下文
安全团队可能会在您参与活动之前提供专门培训,让您具备处理活动中警报的能力。
如果没有正式的培训项目,您可以请求活动负责人分享以下信息:
- 活动中包含的安全漏洞类型
- 修复这些漏洞的示例
- 如何测试修复方案
此外,还有一些外部资源可帮助您了解常见的安全问题。
- OWASP 基金会提供了大量学习最常见漏洞的资源,详见 关于 OWASP 基金会。
- MITRE 公司维护了一份常见弱点的详尽列表,详见 关于 CWE。
3. 及早并频繁协作
安全活动通常会提供一个联系 URL,可能指向活动负责人、开放的讨论平台(例如 GitHub Discussion)或资源网站。您应利用此渠道就活动或具体警报提问、查找有用资源并分享经验。
查找联系 URL
- 打开仓库的 Security and quality 选项卡。
- 在左侧边栏中,点击您正在参与的活动名称。
- 在活动追踪页面,活动负责人姓名右侧,点击 。
4. 战略性地分组警报
将相似的警报集中处理,可保持动力、减少上下文切换,并加深对根本问题的理解。当您在解决某类警报时越发得心应手,后续相同类型的警报也会更快得到处理。
5. 在 Copilot 帮助下解决警报
您可以利用 Copilot 来帮助解决安全活动中的警报。根据仓库所启用的功能,您可能可以使用 Copilot 自动修复建议以及 Copilot Chat。
Copilot Autofix
Copilot 自动修复会对活动中包含的警报自动触发,这意味着在可能的情况下系统会为您生成修复方案。您可以提交该修复来解决警报,并确认代码库的持续集成(CI)仍然通过。参见 在安全活动中修复警报。
如果仓库已启用 Copilot 云代理,您也可以将警报分配给 Copilot。参见 在安全活动中修复警报。
通过一次性分配多个警报,Copilot 云代理会应用修复、迭代代码以验证更改、检查是否出现新安全问题,并确保不存在合并冲突。
Copilot Chat
您可以向 Copilot Chat 请求帮助,以了解漏洞细节、建议的修复方案以及如何全面测试修复。访问 https://github.com/copilot 即可使用 Copilot Chat。
另外,在查看具体警报时,页面右上角点击 Copilot Chat 图标()打开聊天窗口,向 Copilot 提出关于该警报的问题。
例如
Explain how this alert introduces a vulnerability into the code.
Explain how this alert introduces a vulnerability into the code.
如果您的组织尚未为您开通 Copilot Chat,您可以注册 GitHub Copilot 免费版。参见 GitHub Copilot 计划入门指南。