Source: https://42crunch.com/6-pillars-of-api-security/

| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License |
|---|---|---|---|---|---|
| ESDocs | |||||
| OpenAPI Generator Online | |||||
| redoc | https://github.com/Redocly/redoc | ||||
| TypeDocs | |||||
| Tool | Description | Swagger (formely OpenAPI 2.0) | OpenAPI 3.0.* | OpenAPI 3.1.* | Github | License |
|---|---|---|---|---|---|---|
| APKLeaks | Finding paths, secrets from apk | + | + | + | https://github.com/dwisiswant0/apkleaks | Apache-2.0 license |
| Tool | Description | Swagger (formely OpenAPI 2.0) | OpenAPI 3.0.* | OpenAPI 3.1.* | Github | License |
|---|---|---|---|---|---|---|
| graudit | Finding paths, XSS, secrets by your rules | + | + | + | https://github.com/wireghoul/graudit | GPL-3.0 license |
| noir | Identifies endpoints by static analysis | + | + | + | https://github.com/noir-cr/noir | MIT license |
| sonar-openapi | SonarQube plugin | + | + | https://github.com/apiaddicts/sonar-openapi | LGPL-3.0 license |
| Tool | Description | Swagger (formely OpenAPI 2.0) | OpenAPI 3.0.* | OpenAPI 3.1.* | Github | License |
|---|---|---|---|---|---|---|
| akto | ||||||
| metlo | ||||||
| mitmproxy + mitm2swagger | + | + | + | https://github.com/alufers/mitmproxy2swagger | MIT license | |
| AutoSpec | Identifies endpoints by static analysis | + | + | + | https://github.com/Adawg4/openapi-autospec | MIT license |
| OpenAPI DevTools | https://github.com/AndrewWalsh/openapi-devtools | LGPL-3.0 license |
| Tool | Swagger (formely OpenAPI 2.0) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License |
|---|---|---|---|---|---|
| kin-openapi | + | + | + | https://github.com/getkin/kin-openapi | MIT license |
| libopenapi | + | + | + | https://github.com/pb33f/libopenapi https://pb33f.io/libopenapi/openapi/ |
MIT License |
| swagger-parser | https://github.com/APIDevTools/swagger-parser | MIT license |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License |
|---|---|---|---|---|---|
| APICheck | |||||
| https://ratemyopenapi.com/ | |||||
| kin-openapi | |||||
| OpenAPI v3 Linter | + | + | + | https://bbva.github.io/apicheck/tools/edge/openapiv3-lint | |
| openapi-linter | https://github.com/superfaceai/openapi-linter | ||||
| openapi-spec-validator | https://github.com/python-openapi/openapi-spec-validator | ||||
| optic | https://github.com/opticdev/optic | ||||
| redocly-cli | https://github.com/Redocly/redocly-cli | ||||
| speccy | + | + | not info | https://github.com/wework/speccy | MIT license |
| spectral-lint | https://github.com/stoplightio/spectral | Apache-2.0 license | |||
| super-linter | + | + | + | https://github.com/super-linter/super-linter | |
| swagger-parser | + | + | + | https://github.com/APIDevTools/swagger-parser | MIT license |
| vacuum | + | + | + | https://github.com/daveshanley/vacuum | MIT license |
Purpose: Diff old and new spec
| Инструмент | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License |
|---|---|---|---|---|---|
| oasdiff | + | + | + | https://github.com/Tufin/oasdiff | Apache-2.0 license |
| openapi-changes | + | + | + | https://github.com/daveshanley/vacuum | MIT license |
| openapi-diff | + | + | + | https://github.com/OpenAPITools/openapi-diff | Apache-2.0 license |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| APICheck Send to proxy | + | + | https://bbva.github.io/apicheck/tools/apicheck/send-to-proxy | |||
| wiretap | + | + | https://github.com/pb33f/wiretap | GNU Affero General Public License v3.0 |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| APICheck sensitive-data | + | + | https://bbva.github.io/apicheck/tools/apicheck/sensitive-data |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| APICheck jwt-checker | https://bbva.github.io/apicheck/tools/apicheck/jwt-checker |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| GUID Reaper | https://gist.github.com/DanaEpp/8c6803e542f094da5c4079622f9b4d18 |
Purpose: Find OWASP top 10 vulns
| Tool | Swagger (OpenAPI 2) | OpenAPI 3.0.x | OpenAPI 3.1.x | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| Astra | + | + | + | https://github.com/flipkart-incubator/Astra | Apache-2.0 license | |
| Automatic API Attack Tool | + | + | + | https://github.com/imperva/automatic-api-attack-tool | MIT license | |
| cherrybomb | + | + | + | https://github.com/blst-security/cherrybomb | Apache-2.0 license | + |
| dredd | + | expiremental | - | |||
| OWASP OFFAT | https://github.com/OWASP/OFFAT | MIT license | ||||
| OWASP ZAP | ||||||
| sj (Swagger Jacker) | + | + | + | https://github.com/BishopFox/sj | MIT license | + |
Purpose: Find unexpected errors (ex. 500x)
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| APIFuzzer | https://github.com/KissPeter/APIFuzzer | |||||
| CATS | https://github.com/Endava/cats | |||||
| fuzz-lightyear | https://github.com/Yelp/fuzz-lightyear | |||||
| openapi-fuzzer | + | + | + | https://github.com/matusf/openapi-fuzzer | AGPL-3.0 license | |
| restler-fuzzer | + | + | + | https://github.com/microsoft/restler-fuzzer | ||
| schemathesis | + | + | + | https://github.com/schemathesis/schemathesis | ||
| EvoMaster | https://github.com/WebFuzzing/EvoMaster | |||||
| fuzzapi | https://github.com/Fuzzapi/fuzzapi |
Purpose: Find unexpected errors (ex. 500x)
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| k6.js | https://github.com/grafana/k6 | |||||
| yandex-tank | https://github.com/yandex/yandex-tank | |||||
| jMeter |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License |
|---|---|---|---|---|---|
| apiclarity | https://github.com/openclarity/apiclarity | Apache-2.0 license | |||
| api-firewall | + | + | + | https://github.com/wallarm/api-firewall | MPL-2.0 license |
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License |
|---|---|---|---|---|---|
| Apache APISIX | + | + | + | https://github.com/apache/apisix |
Apache-2.0 license |
There are a lot of them...apisix looks decent, but not enough documentation.
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License |
|---|---|---|---|---|---|
| wallarm | Commerce |
Purpose: Detect API attacks in real time, some testing, some API - gateway.
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| akto | + | + | + | https://github.com/akto-api-security/akto | ||
| metlo | + | + | + | https://github.com/metlo-labs/metlo |
Purpose: Develop API, Publish API, Detect API attacks in real time, API testing, API gateway, Monitor API, Control Access API.
| Tool | Swagger (OpenAPI 2) | OpenAPI 3 | OpenAPI 3.1 | Github | License | CI/CD |
|---|---|---|---|---|---|---|
| Gravitee.io | + | + | + | https://github.com/gravitee-io | ||
| WSO2 API Manager | + | + | + | https://github.com/wso2/product-apim |
Let's go
- A simple example of how to run tools
- Example of launch in the CI/CD
- Add tools for GraphQL, Blueprint etc.
- Specify which vulnerabilities from OWASP can be closed
