使用高级安全功能自动化开源依赖项扫描

本文介绍如何在Azure DevOps中利用GitHub高级安全功能自动执行开源依赖项扫描,包括一键启用依赖扫描、接收扫描结果以及设置拉取请求注释等关键步骤,帮助企业提升代码安全性。

使用高级安全功能自动化开源依赖项扫描

任何需要额外设置的体验都很繁琐,尤其是在需要多人参与的情况下。在 GitHub Advanced Security for Azure DevOps 中,我们致力于简化功能启用流程,并支持在企业范围内扩展启用范围。

您现在可以自动将依赖项扫描任务注入到针对默认分支运行的任何流水线中。这是确保您的生产代码(以及任何合并到生产分支的代码)经过开源依赖项漏洞评估的快速方法。

为您的代码库启用一键依赖项扫描

您需要拥有“高级安全:管理设置”权限才能更改代码库的高级安全启用状态。导航到特定代码库的设置页面:项目设置 > 代码库 > 选择您的代码库。

如果您使用的是独立产品,首先需要启用代码安全。然后,导航到“选项”并确认您对“依赖项警报默认设置”的选择。

如果您使用的是捆绑的高级安全功能,请勾选“扫描默认分支以查找易受攻击的依赖项”复选框。

接收依赖项扫描结果

在下次执行针对代码库默认分支的流水线运行时,高级安全依赖项扫描任务将在流水线末尾附近被注入。依赖项扫描在几分钟内完成对依赖项及任何相关漏洞的评估。对于可能没有持续运行 CI/CD 的代码库,我们建议安排定期的流水线运行。

如果任务已存在于您的流水线中,或者您已通过 DependencyScanning.Skip: true 环境变量设置流水线跳过依赖项扫描任务,则注入的任务将被跳过。如果您不希望某些流水线包含在扫描范围内,环境变量是一个很好的选择。或者,如果您希望在某些流水线作业中跳过自动扫描,也可以将流水线变量 dependencyScanningInjectionEnabled 设置为 false

任务成功执行后,结果将上传到高级安全功能,并在“代码库 > 高级安全”选项卡中供开发人员修复任何发现的问题。

您还可以使用此功能轻松设置依赖项扫描的拉取请求注释。如果您为代码库配置了生成验证策略,依赖项扫描也会自动注入到任何针对默认分支的拉取请求中。在您至少扫描过一次默认分支后,新发现的注释会直接显示在您的拉取请求上,而同时存在于两个分支中的任何发现也会显示在“高级安全”选项卡中。

后续步骤

试试这个功能吧!我们的团队也在努力优化更多体验,以简化跨高级安全功能的启用过程。有任何反馈吗?请直接与我们分享或在开发者社区中提出。

了解更多关于高级安全和依赖项扫描的信息。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计