api-samm--owasp-checker is a learning tool for automated REST API verification.
It consists of two main parts:
- Lab7 — a test API used as a playground for validation.
- Demochecker — a Python script with Docker infrastructure that runs checks against the API using configuration files and an OpenAPI specification.
lab7/— test API service:- contains code for a simple REST API with several endpoints,
- used as the target for validation.
check_api.py— main Python script:- executes HTTP requests,
- verifies status codes,
- compares responses with expected results,
- validates against the OpenAPI specification.
openapi.yaml— OpenAPI description of the API.api_qi.json/matrix.json— configuration files with test scenarios.requirements.txt— Python dependencies.Dockerfile— instructions to build a container image.docker-compose.yml— configuration to run the container.
- API availability — whether endpoints respond.
- Status codes — validation of expected results (
200,404,500). - Response content — comparison of JSON structure and values with test scenarios.
- OpenAPI compliance — endpoints match the specification in
openapi.yaml. - Docker stability — API behaves consistently inside a container.
These checks align with Verification practices in the OWASP SAMM model (Security Testing, Architecture Assessment).
pip install -r requirements.txt
python check_api.py