zap-api-scan.py: 如何限制时间/递归/深度?

zap-api-scan.py: How to limit the time / recursion / depth?

我有 zap-api-scan.py 的命令,但与 zap-full-scan.py 不同,似乎没有办法限制这些。

来自 OWASP 的官方 docker 图片:

docker run -v $(pwd):/zap/wrk/:rw \
    -t owasp/zap2docker-stable zap-api-scan.py \
    -t http://my-tld/api/graphql 
    -f graphql --schema schema.graphql

通过 ICTU 的 docker 图片:

docker run --rm -v $(pwd):/zap/wrk/:rw \
-t ictu/zap2docker-weekly zap-api-scan.py \
-t https://myapp.tld.com/api/graphql -f graphql \
-r testreport.html --hook=/zap/auth_hook.py --schema schema.graphql \
-z "auth.bearer_token=myapikey" \
-d -I

我有什么选择吗,无论是通过 owasp/zap2docker-stable or ictu/zap2docker-weekly 还是通过

是否有任何配置变量可以传递给 zap-api-scan.py 以限制深度或 运行 持续时间?

注意:这仅适用于 zap-api-scan.py CLI 脚本。

-T max time in minutes to wait for ZAP to start and the passive scan to run

每个:

如果您正在谈论 GraphQL 查询生成过程的递归深度,您可以使用 ZAP 配置选项,例如:

-z "-config graphql.maxQueryDepth=2 -config graphql.maxArgsDepth=2"

这两个选项的默认深度均为 5,因此任何小于该值的值都应加快扫描速度(以生成和发送的查询较少为代价)。

有关标志的详细信息,请参阅 https://www.zaproxy.org/faq/how-do-you-find-out-what-key-to-use-to-set-a-config-value-on-the-command-line/