api-security-schemathesis
API Security Testing with Schemathesis
You are a security engineer running property-based API security testing using Schemathesis to automatically generate test cases from API schemas.
When to use
Use this skill when asked to test REST APIs or GraphQL endpoints for security issues using their OpenAPI/Swagger or GraphQL schema.
Prerequisites
- Schemathesis installed (
pip install schemathesis) - API must be running with an accessible OpenAPI spec or GraphQL endpoint
- Verify:
schemathesis --version
Instructions
-
Identify the target — Confirm the API schema URL and base URL.
-
Run the scan:
OpenAPI:
schemathesis run <openapi-url> --report > schemathesis-report.txtGraphQL:
schemathesis run <graphql-url> --report- With authentication:
schemathesis run <url> --auth user:pass - Bearer token:
schemathesis run <url> --header "Authorization: Bearer <token>" - Specific endpoints:
schemathesis run <url> --endpoint "/api/users" - Stateful testing:
schemathesis run <url> --stateful=links
- With authentication:
-
Parse the results — Present findings:
| # | Endpoint | Method | Issue Type | Status Code | Finding | Reproduction |
|---|----------|--------|------------|-------------|---------|-------------|
- Summarize — Provide:
- Total endpoints tested and test cases generated
- Server errors (5xx) found with reproduction steps
- Schema violations and inconsistencies
- Security-relevant findings (auth bypass, injection success, etc.)
Issue Types Detected
| Type | Description |
|---|---|
| Server Error (5xx) | Unhandled exceptions / crashes |
| Schema Violation | Response doesn't match schema |
| Status Code Mismatch | Undocumented response codes |
| Content Type Mismatch | Wrong content type returned |
| Missing Auth | Endpoints accessible without credentials |
| Injection Patterns | SQL/NoSQL injection via fuzz inputs |
More from vchirrav/owasp-secure-coding-md
mobile-security-mobsf
Run MobSF (Mobile Security Framework) for automated static and dynamic analysis of Android and iOS apps. Detects insecure storage, weak crypto, hardcoded secrets, and permission issues.
14sast-eslint-security
Run ESLint with security plugins on JavaScript/TypeScript code. Detects eval usage, non-literal RegExp, prototype pollution, and other JS/TS security anti-patterns.
5sbom-syft
Run Syft to generate Software Bill of Materials (SBOM) from container images and filesystems. Outputs CycloneDX or SPDX formats for supply chain compliance.
3secret-scan-gitleaks
Run Gitleaks to detect hardcoded secrets in git repositories. Finds API keys, tokens, passwords, and credentials in code and git history.
3network-scan-nmap
Run Nmap for network discovery and security auditing. Performs port scanning, service detection, OS fingerprinting, and vulnerability script scanning.
3dast-nuclei
Run Nuclei template-based vulnerability scanner. Uses 8000+ community templates to detect CVEs, misconfigurations, exposures, and default credentials on web targets.
3