Who is asking?
Configure two test identities. Knowing who made a request is the starting point — not proof that they should access every object.
TEST_USER_ID_SELF / TEST_USER_ID_OTHERTurning API security questions into reusable, automated checks.
Illustrative test design · not an execution result
Configure two test identities. Knowing who made a request is the starting point — not proof that they should access every object.
TEST_USER_ID_SELF / TEST_USER_ID_OTHERRequest another identity’s resource with the configured account. The endpoint and test data must support this scenario.
BOLA / Broken Object Level AuthorizationReview response behavior against the expected access policy. HTML and JSON reports make the check inspectable; an HTTP success alone does not prove correct authorization.
HTML / JSON reports · JenkinsIllustrative test design from the documented BOLA configuration. No execution result is shown.
TEST_USER_ID_SELF and TEST_USER_ID_OTHER define the ownership boundary.
Request another user’s resource with the configured identity. The endpoint must support this scenario.
Review access behavior in the generated report. A successful HTTP response alone does not establish correct authorization.
The useful question is not “did the API respond?” It is “should this identity have access?”
Read the source ↗A reusable API security testing framework, with Robot Framework suites, Python helpers and Jenkins integration. A local FastAPI demonstration API provides a controlled setting for developing the checks.
Set the base URL, authentication strategy and relevant test identities. OpenAPI-driven discovery helps adapt the suite to the API.
Documented checks cover authentication enforcement, BOLA, malformed inputs, information disclosure and rate limiting. Advanced checks depend on the target configuration.
Jenkins orchestration and HTML / JSON reporting connect test execution to reviewable findings.
This is a testing toolkit, not a guarantee that an API is secure. BOLA needs appropriate identities and endpoints; optional checks may be skipped. Repository coverage and performance claims have not been independently validated.