API Security Testing — REST, GraphQL & gRPC
API Security Testing — REST, GraphQL & gRPC
Where modern breaches happen.
REST, GraphQL, and gRPC pentesting against OWASP API Security Top 10 (2023). Auth bypasses, BOLA at scale, GraphQL introspection abuse — the vulnerabilities scanners can't even enumerate.
More breaches start at the API than the UI.
Modern apps are 80% API surface, 20% rendered UI. Attackers know this. The OWASP API Top 10 exists because API-specific vulnerabilities don't map cleanly to web app categories — and most pentest vendors haven't caught up.
- BOLA (Broken Object Level Authorization) — the #1 API risk
- GraphQL-specific: introspection, batching attacks, query depth DoS
- JWT misuse: alg confusion, none algorithm, weak secrets
- gRPC: reflection, message tampering, missing auth on streams
CRITICAL BOLA on /api/v1/orders/{id} → user A reads user B's order → 14M order records enumerable // API1:2023 CRITICAL GraphQL introspection in prod query { __schema { types { name } } } → full schema exposed → admin mutations discovered // API8:2023 HIGH JWT signature not verified alg=none accepted → arbitrary user impersonation // API2:2023 HIGH No rate limit on /auth/login → 10K req/sec credential stuffing // API4:2023
Every endpoint, every method, every parameter.
Manual API testing without a schema misses endpoints. We start from your OpenAPI / GraphQL schema / proto files and exhaustively test every operation against the OWASP API Top 10. Nothing slips through because nobody knew it was there.
- OpenAPI / Swagger import for full REST coverage
- GraphQL schema introspection + custom query generation
- Protobuf-driven gRPC test case generation
- Drift detection: undocumented endpoints flagged separately
REST API · 247 endpoints from OpenAPI · 1,432 test cases generated · 6 undocumented endpoints found → 12 findings GraphQL · 89 queries, 34 mutations, 12 subs · Batched query DoS tested · Field-level auth checked → 7 findings gRPC · 5 services, 41 RPCs · Reflection enabled in prod · Stream auth tested → 4 findings WebSocket · 12 message types · Origin validation tested → 0 findings
OWASP API Top 10 (2023) coverage
Every category. Every endpoint.
Broken Object Level Authorization. Test every object reference for cross-user access.
Broken authentication — JWT misuse, weak password resets, session management.
Broken object property level authorization. Mass assignment, excessive data exposure.
Unrestricted resource consumption. Rate limits, query complexity, DoS resistance.
Broken function level authorization. Admin endpoints accessible to regular users.
Sensitive flows, SSRF, security misconfig, inventory mgmt, unsafe consumption of APIs.
Schema-driven scoping. Endpoint-based pricing.
Deliverables
API-specific evidence.
Every endpoint, every method, every documented parameter — coverage shown explicitly. Plus undocumented endpoints we discovered (typically 5-15% of the surface).
Findings tagged with API1-API10 categories. Auditors and your team can navigate by attack class. Useful for tracking program maturity over time.
For GraphQL APIs: query depth analysis, batching attack assessment, field-level authorization map, introspection exposure check, schema diff vs declared schema.
Postman collections, Insomnia exports, or raw cURL — depending on your team's tools. Every finding re-verifiable in under a minute.
Sample Finding
Common API attack pattern.
OWASP Category: API1:2023 (Broken Object Level Authorization)
Endpoint: GET /api/v1/orders/{order_id}
Issue: The orders endpoint validates that the requester is authenticated, but does not validate that the order_id belongs to the authenticated user. Sequential or guessed order_ids return arbitrary order data.
Reproduction: 1. Place test order, observe order_id = 14,238,221. 2. Request /api/v1/orders/14,238,220 (different user's order). 3. Full order details returned (PII, payment info, addresses).
Impact: 14M+ historical orders enumerable. PII exposure. PCI DSS scope expansion.
Remediation: Add authorization check linking order to authenticated user. Replace sequential IDs with UUIDs to slow blind enumeration. Add monitoring for sequential ID access patterns.
Frequently Asked Questions
Common questions, answered.
Can you test our API without our staging environment?
Do you test GraphQL specifically?
What about WebSocket and gRPC?
Will you find undocumented endpoints?
What's BOLA and why is it the #1 API risk?
Do you test authentication / authorization specifically?
How much does an API pentest cost?
How long does an API pentest take?
Do you test against rate limiting and DoS?
What if our API uses a custom auth scheme?
Do you provide an OpenAPI / schema audit on top of the pentest?
How do you handle webhooks?
Why do API security and web application security need separate pages?
How do you test GraphQL specifically?
Will you test our undocumented or "internal" endpoints?
What about rate limiting and DoS resistance?
Do you test gRPC and WebSocket?
What is API security testing
Pentesting designed for the way modern apps are actually built.
API security testing is penetration testing focused on a system's API surface — REST, GraphQL, gRPC, and WebSocket endpoints — rather than its rendered UI. It exists as a distinct discipline because most modern applications are 80% API surface and 20% UI, and because the attack patterns that break APIs (BOLA, broken authentication, query-complexity DoS, mass assignment) don't map cleanly onto traditional web app pentest categories.
The OWASP API Security Top 10 (2023) defines the canonical category set, and every CredShields API pentest provides explicit coverage against it: API1:2023 BOLA, API2:2023 Broken Authentication, API3:2023 Broken Object Property Level Authorization, API4:2023 Unrestricted Resource Consumption, API5:2023 Broken Function Level Authorization, and so on through API10:2023 Unsafe Consumption of APIs.
Unlike web app pentesting, API testing benefits enormously from schema-driven exhaustive coverage. We import your OpenAPI spec, GraphQL schema, or proto files, and generate test cases against every operation against every category — methodically rather than opportunistically. Undocumented endpoints (a common finding) get their own report section.
- Full OWASP API Security Top 10 (2023) coverage
- REST, GraphQL, gRPC, WebSocket — same engagement
- OpenAPI / GraphQL schema / .proto file import for exhaustive coverage
- Auth methodologies: JWT (incl. alg confusion), OAuth, mTLS, API keys, HMAC
Pricing & timeline
Priced by API surface, not by hours.
API pentests are scoped by endpoint count, schema complexity, and protocol mix (REST, GraphQL, gRPC, WebSocket). Pricing is fixed-fee determined after a schema review and discovery call. Most engagements complete within 2-3 weeks.