-
Notifications
You must be signed in to change notification settings - Fork 0
Detectors
Frody edited this page Sep 3, 2026
·
1 revision
OpenApiGuard implements modular security rules strictly aligned with the OWASP API Security Top 10 (2023) standard.
-
Identifier:
DetectorId.BOLA| CWE:CWE-639| Default Severity:CRITICAL - Attack Mechanism: Tests whether an authenticated user can access, modify, or delete resources belonging to another user.
-
Test Strategy:
- Identifies endpoints with identifier parameters (e.g.,
/{userId},/{accountId}). - Executes the request using User A's authorization token while supplying User B's identifier (
seedData.targetId). - Flagged if the endpoint returns
200 OKor204 No Contentinstead of403 Forbiddenor404 Not Found.
- Identifies endpoints with identifier parameters (e.g.,
-
Identifier:
DetectorId.AUTH| CWE:CWE-287| Default Severity:HIGH - Attack Mechanism: Tests endpoints declaring security requirements against missing, malformed, or expired authentication tokens.
-
Test Strategy:
- Injects requests without the
Authorizationheader. - Injects invalid signatures, empty strings, and malformed JWT tokens.
- Flagged if a protected endpoint responds with
200 OKrather than401 Unauthorized.
- Injects requests without the
-
Identifier:
DetectorId.BOPLA| CWE:CWE-915| Default Severity:HIGH - Attack Mechanism: Evaluates Mass Assignment and Excessive Data Exposure.
-
Test Strategy:
-
Mass Assignment: Injects sensitive administration attributes (e.g.,
"role": "ADMIN","isVerified": true,"balance": 99999) intoPOST/PUT/PATCHpayloads. Flagged if the server persists or accepts these fields. - Excessive Data Exposure: Inspects response payloads for unmasked PII, password hashes, or internal database metadata that should not be exposed to callers.
-
Mass Assignment: Injects sensitive administration attributes (e.g.,
-
Identifier:
DetectorId.DOS| CWE:CWE-770| Default Severity:MEDIUM - Attack Mechanism: Tests pagination parameters and payload size constraints.
-
Test Strategy:
- Identifies query parameters controlling pagination limits (e.g.,
limit,size,pageSize). - Sends requests with excessively large integer values (e.g.,
limit=10000000) and negative bounds (limit=-1). - Flagged if the endpoint attempts to process the payload without capping the page size, exposing the database to memory exhaustion.
- Identifies query parameters controlling pagination limits (e.g.,
-
Identifier:
DetectorId.BFLA| CWE:CWE-285| Default Severity:CRITICAL - Attack Mechanism: Checks whether regular user accounts can access privileged or administrative routes.
-
Test Strategy:
- Scans the OpenAPI specification for administrative paths (e.g.,
/admin/**,/management/**,/internal/**). - Sends requests to these endpoints using standard
USERcredentials or unauthenticated probes. - Flagged if privileged endpoints execute without returning
403 Forbidden.
- Scans the OpenAPI specification for administrative paths (e.g.,
-
Identifier:
DetectorId.MISCONFIG| CWE:CWE-16| Default Severity:MEDIUM - Attack Mechanism: Audits transport security, defensive HTTP headers, and CORS configurations.
-
Test Strategy:
- Inspects responses for defensive headers:
X-Content-Type-Options: nosniff,Strict-Transport-Security,Content-Security-Policy. - Verifies that
Access-Control-Allow-Origin: *is not combined withAccess-Control-Allow-Credentials: true. - Flags detailed stack traces or debug exception dumps in 500 error responses.
- Inspects responses for defensive headers:
OpenApiGuard • Contract-Driven Security Testing for REST APIs • Licensed under Apache-2.0