Gitlab Dependency Scan存在漏洞却仍通过,如何配置使其检测到漏洞即失败?
解决GitLab依赖扫描任务检测到漏洞仍通过的问题
问题出在仅设置allow_failure: false不足以让任务因漏洞触发失败——这个参数只是控制流水线是否允许任务失败后继续执行,而任务本身是否失败需要通过漏洞严重程度阈值来配置。
默认情况下,GitLab Dependency Scanning任务即使发现漏洞也会返回成功状态,你需要添加专门的变量来指定哪些级别的漏洞会触发任务失败:
修改你的gemnasium-dependency_scanning配置,加入DS_FAIL_ON_SEVERITY变量:
gemnasium-dependency_scanning: extends: - .ds-analyzer variables: DS_MAX_DEPTH: -1 # 指定触发任务失败的漏洞严重程度,可设为all/critical/high/medium/low/unknown DS_FAIL_ON_SEVERITY: "critical,high" rules: - if: $CI_MERGE_REQUEST_IID needs: [] allow_failure: false
参数说明:
DS_FAIL_ON_SEVERITY:接受逗号分隔的严重程度值,比如"critical,high"会在检测到高危或严重漏洞时让任务失败;设为"all"则任何级别的漏洞都会触发失败。- 确保你的GitLab版本在13.10及以上,这个变量是从该版本开始支持的。
这样配置后,当扫描到指定严重程度的漏洞时,任务会返回失败状态,再结合allow_failure: false,整个流水线就会被终止。
内容的提问来源于stack exchange,提问作者Muskan Singh
相关产品推荐
相关产品推荐

