本文是大规模采用 GitHub Advanced Security 系列的一部分。 有关本系列的上一篇文章,请参阅“第 2 阶段:准备大规模启用”。
关于试点计划
建议确定一些非常重要的项目或团队,以用于 GHAS 的试点推广。 这将使公司内的初始组能够熟悉 GHAS,并为 GHAS 打好坚实的基础,然后再推出到公司的其他团队。
本阶段的这些步骤将帮助你在你的企业中启用 GHAS、开始使用其功能并查看结果。 如果你使用的是 GitHub Professional Services,他们可以根据需要通过入职会议、GHAS 研讨会和故障排除在此过程中提供额外帮助。
在开始试点项目之前,建议为团队安排一些会议,例如初始会议、中期审查和试点完成后的总结会议。 这些会议将帮助你根据需要进行调整,并确保团队做好准备并获得支持,以成功完成试点。
如果尚未为 GitHub Enterprise Server 实例启用 GHAS,请参阅“为企业启用 GitHub 高级安全性”。
你需要通过为每个存储库或参与该试点的任何组织中的所有存储库启用 GHAS 功能,来为每个试点项目启用 GHAS。 有关详细信息,请参阅“管理存储库的安全和分析设置”或“管理组织的安全和分析设置”
试点 code scanning
若要在 GitHub Enterprise Server 实例上启用 code scanning,请参阅“为设备配置代码扫描”。
可以通过创建 GitHub Actions 工作流在存储库上运行 code scanning 来运行 CodeQL 操作。 有关 GitHub Actions 的详细信息,请参阅:
建议在试点计划中逐个存储库启用 code scanning。 有关详细信息,请参阅“配置代码扫描的高级设置”。
如果希望对许多存储库启用 code scanning,可能需要为该过程编写脚本。
有关打开拉取请求以将 GitHub Actions 工作流添加到多个存储库的脚本示例,请参阅 jhutchings1/Create-ActionsPRs
存储库。有关使用 PowerShell 的示例,或者对于没有 PowerShell 但希望改用 NodeJS 的团队,请参阅 nickliffen/ghas-enablement
。
运行初始代码扫描时,你可能会发现未找到任何结果或返回的结果数量异常。 建议调整在将来扫描中标记的内容。 有关详细信息,请参阅“自定义代码扫描的高级设置”。
如果你的公司希望将其他第三方代码分析工具用于 GitHub code scanning,则可以使用操作在 GitHub 中运行这些工具。 你也可以将由第三方工具生成的结果作为 SARIF 文件上传到 code scanning。 有关详细信息,请参阅“与代码扫描集成”。
试点 secret scanning
GitHub 扫描仓库查找已知的密码类型,以防止欺诈性使用意外提交的密码。
若要为 GitHub Enterprise Server 实例启用机密扫描,请参阅“为设备配置密码扫描”。
你需要通过为每个存储库或参与该项目的任何组织中的所有存储库启用机密扫描,来为每个试点项目启用该功能。 有关详细信息,请参阅“管理存储库的安全和分析设置”或“管理组织的安全和分析设置”。
接下来,为每个试点项目启用推送保护。
如果你计划在开发人员尝试推送被阻止的机密时显示的消息中配置指向资源的链接,那么现在是测试并开始完善你计划提供的指南的好时机。
如果整理了所有特定于贵公司的自定义模式,尤其是与试点 secret scanning 的项目相关的任意自定义模式,你可以配置这些模式。 有关详细信息,请参阅“为机密扫描定义自定义模式”。
若要了解如何查看和关闭已签入存储库的机密警报,请参阅“管理来自机密扫描的警报”。
有关本系列的下一篇文章,请参阅“第 4 阶段:创建内部文档”。