Я использую ZAP / Zaproxy с openapi addon для автоматического сканирования API, как показано ниже - в основном я просто указываю ZAP на мою OpenAPI spe c, и она будет автоматически найти и проверить все маршруты.
./zap-api-scan.py \
-t http://webapi:10000/swagger.json \
-f openapi \
-O webapi:10000 \
-r ./zap-report.html \
-z "-configfile /zap/wrk/auth.prop"
Это работает, и я получаю хороший HTML отчет; сканирование не проходит все возможные версии API, которые определены как параметры пути в моем OpenAPI spe c например,
"paths": {
...
"/api/{version}/template/test": {
"get": {
...
"parameters": [
{
"name": "version",
"in": "path",
"description": "API version",
"required": true,
"type": "string",
"default": "v3",
"enum": [ "v1", "v2", "v3" ]
}
],
...
Сканирование просматривает только версию по умолчанию ( т. е. v3) и ничего больше (т. е. v1 или v2), даже если эти пути все еще доступны в моем API для обратной совместимости.
Это ошибка с дополнением openapi, или есть способ сделать сканирование ход все версии ...
ура.