设置-l FAIL后OWASP Zap仍显示Informative级告警10049-2求助
问题原因与解决方案
你混淆了-l FAIL参数的作用——它是用来设置流水线失败的阈值(当扫描出FAIL级别的问题时,脚本返回非零退出码,触发流水线失败),而不是用来过滤报告中的低级别告警。所以即使设了这个参数,Informative级别的告警依然会出现在报告里。
下面给你两种解决办法:
方案1:忽略特定的Informative告警(针对Alert 10049-2)
- 在流水线工作目录下创建一个规则配置文件,比如
zap-alert-rules.conf,内容如下:
10049-2: IGNORE
- 修改扫描脚本,在
zap-baseline.py的参数中添加-w zap-alert-rules.conf,指定这个规则文件:
chmod -R 777 ./ docker run --rm -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-baseline.py -t https://app.azurewebsites.net -l FAIL -s -w zap-alert-rules.conf -x zap-report.xml -r zap-report.html -J zap-report-be.json true
方案2:过滤所有Informative级别的告警
如果想彻底屏蔽所有Informative级别的内容,在扫描命令中添加-z '-config alert.threshold=FAIL',通过Zap原生配置设置告警显示的最低级别:
chmod -R 777 ./ docker run --rm -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-baseline.py -t https://app.azurewebsites.net -l FAIL -s -z '-config alert.threshold=FAIL' -x zap-report.xml -r zap-report.html -J zap-report-be.json true
另外提一句:你脚本末尾的true会强制命令返回0,即使Zap扫出FAIL级问题,流水线也不会失败。如果需要流水线在出现FAIL级告警时正常触发失败,建议去掉这行true。
内容的提问来源于stack exchange,提问作者Sohlae
相关产品推荐
相关产品推荐

