启动您的第一个活动
在本教程中,你将规划和运行专注于 XSS 警报的第一个组织范围安全活动。 在此过程中,你将了解如何选择正确的警报,为开发人员做好准备,并构建一个活动,以推动安全状况的有意义的改进。
假设你已在多个存储库中发现了 XSS 漏洞的定期模式。 你决定开展协调活动,减少风险,同时帮助开发人员增强对安全编码的信心,而不是逐个解决警报问题。
1. 定义重点目标
在大规模开展活动时,同时针对所有紧急警报是很有诱惑力的。 如果你的开发人员在安全编码和可用容量方面已经有了坚实的基础,则这一点可能适用。
但是,如果你的目标是降低风险并提高安全编码实践,那么重点开展活动通常更有效。 选择单个漏洞类型(例如跨站点脚本)可让开发人员识别模式、跨多个修补程序应用学习以及生成势头。
对于此活动,你决定将重点放在组织内的 XSS 警报上,不超过单个活动可包含的警报数量限制。
2. 为活动选择通知
在安全警报页上,首先筛选跨站点脚本警报。 还可以使用预定义的活动模板,例如跨网站脚本(CWE-79),来快速定义范围。 有关筛选警报的信息,请参阅 在安全概述中筛选警报。
注意
安全活动最多可以包含 1000 个警报。 如果您的组织有超过 1000 个 XSS 警报,请缩小筛选条件(例如,按存储库、严重性或语言),直到匹配的警报数量符合此限制,或者规划多个活动以覆盖剩余警报。
如果你的活动支持 Copilot自动修复,你可以使用 autofix:supported 筛选器进一步优化范围。 这样,开发人员就可以利用 AI 生成的修复建议更有效地修正警报。
在发起竞选活动之前,还准备支持教育材料。 例如:
- 创建包含防止 XSS 漏洞的指导的存储库。
- 链接到 OWASP Foundation 中的资源,例如跨站点脚本 (XSS)。
- 提供安全编码模式和测试方法的示例。
你将在活动说明中包含指向这些资源的链接,以便开发人员在处理分配的警报时引用它们。
3. 分配市场活动经理并定义沟通渠道
在启动活动之前,决定由谁来支持开发人员在修正过程中。
创建安全活动时,必须分配一个或多个 活动主管。 市场活动经理必须是:
- 具有组织所有者角色或安全经理角色的用户,或者
- 具有其中一个角色的团队成员
选择经理人,要求他们能够:
- 回答有关 XSS 漏洞的问题
- 评审修复相关的拉取请求
- 帮助解决边缘案例或复杂的修正方案
由于活动经理对参与该活动的开发人员可见,因此这也是建立明确沟通的机会。 创建活动时,包含联系链接(如 GitHub Discussions 主题链接或其他沟通渠道),以便开发人员知道在哪里提问。
通过提前设置期望并使支持可见,可以增加信任并提高修正率。
4. 创建和发布市场活动
你现在已经准备好创建活动。
在定义活动策划时:
- 使用 XSS 筛选器或模板选择警报。
- 添加一个明确的描述,解释活动的目标。
- 请包含您之前准备的教育资源的链接。
- 根据警报数和预期修正容量设置现实截止日期。
如果你不确定范围,请先创建草稿活动。 在发布之前,草稿允许你查看将要包含的警报,并进行内部协作。
5. 启用问题跟踪以提高可见性
为了帮助开发人员跟踪其工作并为经理提供可见性,可以选择在活动中包含的每个存储库中自动创建问题。 这样,开发人员就可以在现有工作流和项目板中管理其修正工作。
启用问题创建时,活动“简短说明”、“联系人链接”和截止日期将自动包含在问题正文中。 如果更新简短说明、联系人链接或截止日期,这些更改将反映在问题中。 此外,如果活动达到截止日期或被关闭,会在每个问题上发布评论,以通知开发人员。 此集成有助于保持明确的交流,并在多个存储库之间使活动保持有序。
6. 修正期间支持开发人员
活动上线后,你的角色将从组织者转变为启用者。 开发人员将开始查看和修复其存储库中的 XSS 警报。 为了帮助他们高效自信地移动:
- 确保活动管理员可随时评审拉取请求并解答问题。
- 鼓励开发人员使用 Copilot对话 更好地理解代码存在漏洞的原因以及如何验证其修复。
- 在支持的情况下,鼓励开发人员在合并更改前评审并测试 Copilot自动修复 建议。
如果你之前准备了教育资源,请在讨论和拉取请求评审中引用它们。 加强共享指导可减少重复的问题,并帮助构建长期安全的编码习惯。
通过在活动期间保持可见和响应,你强调这是一项协作努力,而不仅仅是合规性练习。
7. 设置现实的最后期限
创建活动时设置截止日期。 随着活动的进展,确保时间线仍然可以实现。
设置或调整截止时间时,请考虑:
- 活动中包含的警报数
- 开发人员的预期修正能力(例如,他们可以花费多少时间与常规工作一起修复警报)
- 任何即将到来的公司内的截止日期或假期,可能会影响可用性。
除非警报修正是一项专用计划,否则大多数开发人员将与功能开发一起平衡这项工作。 设置现实的时间线会增加参与度,并防止劝阻。
如果需要,可以随着时间的推移运行多个专项活动,而不是尝试同时解决所有警报类型。
8. 关闭活动并进行迭代
随着截止时间的临近,监视进度并协作处理所有剩余的复杂修复。
活动结束时:
- 存储库问题会自动更新。
- 开发人员已解决一组重点漏洞。
- 你的组织以可衡量的方式降低了风险。
最重要的是,开发人员获得了识别和修复特定漏洞类的实际经验。
在这里,可以使用另一组目标警报(例如 SQL 注入、不安全反序列化或公开的机密)重复此过程,以在一段时间内稳步改善组织的安全状况。
后续步骤
准备好启动你的活动了吗? 为了创建和管理您的安全活动,请参阅 创建和管理安全活动。