我正在 Docker 容器中使用 zap-baseline.py 脚本运行 OWASP ZAP 来扫描我的应用程序。我正在使用配置文件(zap-config.txt)来覆盖一些规则,但我不断遇到以下错误:
Traceback (most recent call last):
File "/zap/zap-baseline.py", line 662, in <module>
main(sys.argv[1:])
File "/zap/zap-baseline.py", line 384, in main
jobs.append(get_af_output_summary(('Short', 'Long')[detailed_output], summary_file, config_dict, config_msg)) File "/zap/zap_common.py", line 673, in get_af_output_summar
rules.append({'id': int(id), 'action': action, 'customMessage': config_msg[id]}
ValueError: invalid literal for int() with base 10: 'WARN-NEW'
经过一番研究,我怀疑问题出在我的配置文件的格式上。这是我正在使用的文件的示例:
10015=IGNORE=False
10027=IGNORE=False
10031=IGNORE=False
10036=IGNORE=False
10054=IGNORE=False
WARN-NEW=INFO=False
WARN-INPROG=INFO=False
据我了解,每行应遵循以下格式之一:
<Rule ID>=<Action>, <Rule ID>=<Action>=<Custom Message>
但是,我测试了多种格式,包括添加自定义消息作为每个规则的第三个令牌,但我仍然遇到“第三个令牌丢失”之类的错误。
以下是我尝试过的一些格式:
10015=IGNORE 10015 IGNORE 10015=IGNORE=False 10015=IGNORE=Custom message
尽管进行了这些尝试,问题仍然存在,特别是对于 WARN-NEW 和 WARN-INPROG 等规则。
我的问题: 与 zap-baseline.py 一起使用的 ZAP 配置文件的正确格式是什么? 如何正确配置 WARN-NEW 和 WARN-INPROG 等规则来抑制或更改它们的行为? 有没有办法在运行扫描之前调试或验证配置文件? 附加信息: 我运行的命令:
docker run --add-host=host.docker.internal:host-gateway -u 0 -v $(pwd)/zapreports:/zap/wrk/:rw ghcr.io/zaproxy/zaproxy:stable zap-baseline.py -t https://my-app.local -c zap-config.txt -r report.html
环境:
OWASP ZAP版本:稳定 在 Docker 中运行:是 操作系统:Ubuntu 20.04 我已验证脚本正在读取该文件,但我不确定避免这些错误所需的具体格式。
任何帮助或见解将不胜感激!
配置文件以制表符分隔,请参阅https://www.zaproxy.org/docs/docker/baseline-scan/#configuration-file 哦,ZAP 已经一年多没有成为 OWASP 项目了 :P